Bonjour,

afin de simplifier la programmation, et surtout l'utilisation d'une liste de constante, je voulais utiliser la proposition automitique des membres d'une enumeration.
un peux comme fait le compilateur avec l'utilisation d'une structure.

par exemple pour une structure que je definis:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
typedef struct struct_STRIP_RVB {
   unsigned char duty_cycle_rouge;
   unsigned char duty_cycle_vert;
   unsigned char duty_cycle_bleu;
   int couleur;
}DEF_STRIP_RVB; 
 
DEF_STRIP_RVB Strip_RVB;
lors de la programmation après avoir écrit le point après le nom de la structure le compilateur me propose automatiquement une liste avec tout les membres de la structure
Strip_RVB. (liste des membre afficher par le compilateur)

par contre si je definis une enumeration comme :
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
18
19
20
21
 
typedef enum enum_COULEUR_RVB {
    VAGUE,          //0000
    FIXE_BLEU,      //0001
    FIXE_VERT,      //0010
    FIXE_CYAN,      //0011
    FIXE_ROUGE,     //0100
    FIXE_VIOLET,    //0101
    FIXE_JAUNE,     //0110
    FIXE_BLANC,     //0111
    NOIR,           //1000
    CLIGN_BLEU,     //1001
    CLIGN_VERT,     //1010
    CLIGN_CYAN,     //1011
    CLIGN_ROUGE,    //1100
    CLIGN_VIOLET,   //1101
    CLIGN_JAUNE,    //1110
    CLIGN_BLANC     //1111 
}DEF_ENUM_COULEUR_RVB;   
 
DEF_ENUM_COULEUR_RVB  LISTE_couleur_RVB;
le "intellisense fonctionne bien lorsque j'ecrit ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Strip_RVB.couleur = LISTE_couleur_RVB.CLIGN_BLEU; (toute les couleur de l'enumeration sont bien listée par le compilateur)
mais j'ai une erreur de compilation "struct/union required".
pourtant j'ai bien une enumeration de int pour la LISTE_couleur_RVB et le membre couleur de la structure DEF_STRIP_RVB.

merci d'avance pour votre aide.