C Präprocessor-Anweisung

16/09/2010 - 13:40 von Robert Hartmann | Report spam
Hallo zusammen,

ich würde gerne im konkreten Fall folgende
Zeilen im Quell-Code unterbringen mit dem Hintergedanken,
dass der Code erst garnicht compiliert, wenn die genannten
Datentypen nicht die geforderten Größen besitzen :

#if (sizeof(unsigned char)!=1)
#error the size of unsigned char must be 1
#endif

#if (sizeof(unsigned short)!=2)
#error the size of unsigned short must be 2
#endif


Irgendwas muss ich hier wohl syntaktisch nicht korrekt gemacht haben,
denn ich erhalte für jede der beiden #if-Zeilen die Meldung:

error: missing binary operator before token "("


Gruß Robert
 

Lesen sie die antworten

#1 Rainer Weikusat
16/09/2010 - 13:47 | Warnen spam
Robert Hartmann writes:
ich würde gerne im konkreten Fall folgende
Zeilen im Quell-Code unterbringen mit dem Hintergedanken,
dass der Code erst garnicht compiliert, wenn die genannten
Datentypen nicht die geforderten Größen besitzen :

#if (sizeof(unsigned char)!=1)
#error the size of unsigned char must be 1
#endif

#if (sizeof(unsigned short)!=2)
#error the size of unsigned short must be 2
#endif


Irgendwas muss ich hier wohl syntaktisch nicht korrekt gemacht haben,
denn ich erhalte für jede der beiden #if-Zeilen die Meldung:

error: missing binary operator before token "("



Fuer den Praeprozessor ist 'sizeof' ein token und kein Operator, dh
das funktioniert so nicht.

Ähnliche fragen