Bonjour,

J'ai trois structures :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
struct Cat { const static unsigned mask = 1; };
struct Dog { const static unsigned mask = 2; };
struct Cow { const static unsigned mask = 4; };
J'aimerais cr�er une macro qui prendrait des types en argument et qui :
- en ferait un enum
- cr�erait un tableau avec les maks des types

Rien compris ? X) Un petit exemple sera plus parlant. J'aimerais pouvoir �crire :

Ceci me cr�erait une structure :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
struct
{
    enum {Dog,Cow,Cat};
    unsigned tab[3] = {2,4,1};
} test;
Pour l'instant j'ai �crit la macro suivante :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
#define macro(Ts...)                    \
struct                                  \
{                                       \
    enum { Ts,count };                  \
    unsigned tab[count] = {Ts::mask};   \
} test;
C'est bon pour l'enum, mais pour tab c'est pas encore �a il doit y avoir un probl�me d'expanded pack quelque part, mais je ne sais pas comment r�soudre �a !

Des suggestions ?