Vergleich von einem Define mit einem Enum
-
Hallo!
Habe folgende Frage: Warum wird bei folgendem Codeschnipsel die Error-Meldung ausgegeben (mit 0 funktionierts übrigens korrekt...)
#define DEF0x01
enum
{
ENUM = 0x01
}eEnum;#if DEF != ENUM
#error "DEF != ENUM"
#endifVielen Dank!
Gruß,
Letschi
-
1. Zeile lautet naürlich
#define DEF 0x01
-
schau mal hier: http://gcc.gnu.org/onlinedocs/cpp/If.html
-
Danke für die rasche Antwort! Aber ehrlichgesagt ist mir immer noch net klar, wo der Fehler liegt....
-
^^wenn du's gelesen hättest, wäre dir vielleicht dieser satz aufgefallen:
The preprocessor does not know anything about types in the language. Therefore, sizeof operators are not recognized in `#if', and neither are enum constants.
-
sorry, hab ich überlesen....
Dankeschön!