Conflits de macros - C - Programmation
Marsh Posté le 10-12-2009 à 17:54:25
Hmm, quand tu dis "fonctionner", tu sous-entends compiler, hein ? Parce que si c'est ça, il suffit de faire un truc du genre :
Code :
|
Pas super joli, mais bon, mieux que rien.
Sinon, le léger avantage des #define par rapport aux enum, c'est que tu peux faire des #ifdef dessus.
Marsh Posté le 10-12-2009 à 17:11:20
Hello,
J'utilise une API qui fournit une ribambelle de macros de type :
#define _INT 0
#define _FLOAT 1
#define _DOUBLE 2
#define _BOOLEAN 3
...
Une fonction de l'API me renvoie un entier correspondant à ces valeurs de macros. J'applique sur cette valeur un switch afin de faire le traitement approprié selon le type.
Une version suivante de l'API a supprimé une entrée :
#define _INT 0
#define _FLOAT 1
#define _BOOLEAN 2
...
Ce qui décale tout, et bousille mon switch...
Mon apli devant fonctionner avec les deux versions de l'API, comment contourneriez-vous le problème ?
Merci.