oui est ce que je doit ajouter des includes ??
Version imprimable
oui est ce que je doit ajouter des includes ??
Non. Le code que j'ai donné compile tel quel.
et pourtant ca ne compile pas :?: :roll:
Quel est ton compilo ? Tu es sûr d'avoir bien copié / collé ?
oui,microsoft visual studio .Net 2003
Code complet compilant sous VS.NET 2003
Mais bon, es-tu bien sûr de vouloir utiliser ce genre de bidouille ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #include <iostream> using namespace std; #define ENUM_BODY(name, value) \ name = value, #define ENUM_CASE(name, value) \ case name : return true; #define DEFINE_ENUM(name, values) \ enum name { \ values(ENUM_BODY) \ }; \ inline bool value_in_##name(int x) \ { \ switch (x) { \ values(ENUM_CASE) \ default : return false; \ } \ } #define VALUES(_) \ _(a, 1) \ _(b, 3) \ _(c, 5) \ _(d, 24) DEFINE_ENUM(MyEnum, VALUES) int main() { cout << "1 : " << boolalpha << value_in_MyEnum(1) << endl; cout << "2 : " << boolalpha << value_in_MyEnum(2) << endl; cout << "5 : " << boolalpha << value_in_MyEnum(5) << endl; return 0; }
bon merci en tout cas mais ca compile pas
c'est pas la peine que je fais ca
by 8O
Faire des passages entier -> enum n'est pas toujours très utile (/ nécessaire).
Tu n'as toujours pas répondu à ma question (pas forcément claire il est vrai). Quel est le problème que tu veux résoudre ? (Problème que tu penses pouvoir traiter avec des enums). Je ne cherche pas à savoir ce que tu veux faire avec des enums, mais ce que tu veux faire ... d'un point de vu plus haut niveau si je puis dire.
(Pour les macros ... je préfère encore jouer avec Perl et make ; on doit pouvoir s'en sortir pour générer plus de choses à commencer par les tables pour les conversions enum <-> texte)