erreur de segmentation sur affectation champ enum structure
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 !! :aie: J'ai cherché sur internet quelques pistes sans succès ! :cry:
Voici le code concerné :
Une partie de la structure avec l'enum qui pose problème :
Code:
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;
}; |
Le code qui crée une erreur de segmentation
Code:
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; |