Bonjour à tous,
Désolé pour le sujet pas très clair mais je manquais d'inspiration!
En fait, je voudrais créer des defines un peu spéciaux.
Je m'explique : j'essaie de créer un moteur 3D dont l'unité sera le millimètre (ça devrait suffire). Mais si on veut travailler en CM/DM/M/DAM/HM/KM c'est un peu embêtant d'écrire 1000000 pour 1km. Je voudrais donc pouvoir écrire par exemple : fonction_ligne(3km) à à la place de fonction_ligne(3000000)!
Il me suffit donc d'écrire les macros suivantes :
Mais toutes les "m" vont être remplacés par *1000 est ça ne va pas du tout car, par exemple, le m de "enum" va être remplacé par *1000 et le compilateur va renvoyer une belle erreur!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #ifdef _RACCOURCIS_MESURES_ #define mm *1 #define cm *10 #define dm *100 #define m *1000 #define dam *10000 #define hm *100000 #define km *1000000 #endif
Je voudrais donc appliquer la macro si, et seulement si, un nombre se trouve avant!
Avez vous une idée sur la façon dont je doit procéder?
Merci d'avance de votre aide!
Spartan03
Partager