Bonsoir,
J'ai un joli segmentation fault qui me cause du file à retordre ! J'ai une structure qui contient un champ qui est une énumération. Lorsque je crée un objet du type de cet structure et que je donne une valeur à ce fameux champ, c'est le drame !!J'ai cherché sur internet quelques pistes sans succès !
Voici le code concerné :
Une partie de la structure avec l'enum qui pose problème :
Le code qui crée une erreur de segmentation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 typedef struct A_exp_ *A_exp; struct A_exp_ { enum {A_idExp, A_numEnt, A_chaine, A_numReel, A_expNeg, A_binExp, A_seqExp, A_suiteExp,A_fonction,A_compExp, A_bloc, A_affect, A_lvalue} sorte; union { int entier; double reel; }u; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 A_exp *res=(A_exp *)malloc(sizeof(A_exp)); if(res==0){ printf("Erreur allocation id_exp\n"); exit(1); }else{ (*res)->sorte=A_idExp; // ligne incriminée par gdb (*res)->u.entier=i; } return *res;
Partager