Bonjour.

Dans mon code, j'ai 2 typedef enum. un contient X éléments, et le second X+1.
Exempl:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
typedef enum
{
    toto1=0,
    toto2,
    toto3,
    num_toto
}Ttoto;
 
typedef enum
{
    tata1=0,
    tata2,
    tata3,
    tata4,
    num_tata
}Ttata;
Et tenez-vous bien, il FAUT que le deuxième contienne exactement 1 élément de plus que le premier. Sinon, ça va compiler, ça va s'executer, mais pas correctement!

Ce que je voudrais, c'est que si un jour quelqu'un s'amuse à rajouter un toto4, ça ne compile plus si il oublie de rajouter un tata5!

un truc du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
#if ( num_tata != (num_toto +1) )
#error Ttata should contain 1 element more than Ttoto
#endif
le problème c'est que num_tata et num_toto ne sont pas connu à la pré-compilation!

Existe-t'il un moyen simple et efficace de faire ça?
merci

Biosox