structure et erreur à l'initialisation
Bonjour,
Cela fait plusieurs jours que je tente désespérément de régler un problème avec une structure en vain. Alors, je me tourne vers vous aujourd'hui. Voilà un peu le topo :
J'ai ces structures plus ou moins dépendantes entre elles :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
typedef struct symb{
char *name;
enum {var,fonction,parametre,tableau} nature;
enum {entier, reel, chaine } type;
int nb_parametres;
int borne_sup;
int nb_dimensions;
int imbrication;
int bloc;
}Symb;
typedef struct tabSymb{
Symb tds[20];
int num_bloc;
int num_imbric;
int nb_symb;
}TabSymb;
typedef struct ensTabSymb{
TabSymb ens_tds[50];
int nb_tables;
}EnsTabSymb; |
J'ai cette fonction qui normalement a pour simple but de créer un EnsTabSymb :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
EnsTabSymb *creerEnsTDS(){
EnsTabSymb *ens = (EnsTabSymb *) malloc( sizeof(EnsTabSymb));
if(ens==0){
printf("Erreur allocation ensemble des tables des symboles\n");
exit(1);
}else{
ens->ens_tds=(TabSymb *) malloc(50*sizeof(TabSymb));
ens->nb_tables=0;
}
return ens;
} |
2 problèmes :
- avec le malloc j'ai l'erreur suivante :
Code:
1 2
|
erreur: incompatible types in assignment |
- et tout simplement lors de l'appel de ma fonction comme ceci :
Code:
1 2
|
EnsTabSymb* ens_tables_symboles=creerEnsTDS(); |
j'ai cette erreur :
Code:
1 2
|
erreur: un élément de l'initialisation n'est pas une constante |
Voilà , si quelqu'un peut me guider un peu ce serait cool !