Preprocesseur, macro,test argument
Bonjour
j'ai une macro Macro(x) et voudrai faire un test sur argument (x) du style
Code:
1 2 3 4 5 6 7
| #define Macro(x)
#if ((x)==0)
#error petit
#elif ((x)>1000)
#error grand
#else développement ici de la macro qui a aussi des tests sur l'argument.
#endif |
Bien sur ci dessus ne fonctionne pas.Tout cela pour ne compiler que le code nécessaire.
J'ai cela mais compile tout et ne me convient pas car si 0 ou >1000 compile aussi, sans avertissement du préprocesseur
Code:
1 2 3 4 5 6
| #define Macro(x)\
do{\
if ((x)>0)\
....
}\
while(0) |
Si vous avez la solution, je suis bien sur preneur
Merci