A voir également:
- Erreur: expected specifier-qualifier-list bef
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 10016 epson - Forum Imprimante
- Erreur g030 - Forum Bbox Bouygues
1 réponse
mamiemando
Messages postés
33346
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 novembre 2024
7 803
11 avril 2009 à 13:03
11 avril 2009 à 13:03
Le type nodeType n'est pas défini ligne 24. Tu ne peux donc à ce stade que manipuler des nodeType * (car le compilateur sait qu'il doit réserver la taille pour une adresse) mais pas un nodeType (car il ne connaît pas encore la taille occupée par une structure nodeType).
Il faut donc déclarer au préalable la structure nodeType (éventuellement au travers d'un include si ce type est défini dans un autre fichier) ou continuer à utiliser des pointeurs.
Pour enlever ton warning, inclue <string.h>.
Bonne chance
Il faut donc déclarer au préalable la structure nodeType (éventuellement au travers d'un include si ce type est défini dans un autre fichier) ou continuer à utiliser des pointeurs.
Pour enlever ton warning, inclue <string.h>.
Bonne chance
11 avril 2009 à 16:19
voici aussi le fichier arbre.h:
typedef enum { tFloat, tCaSpe, tFunction } nodeEnum;
/* float */
typedef struct {
int value; /* value of constant */
} floatNodeType;
/* caractères-spéciaux */
typedef struct {
int type; /* subscript to sym array */
int nparam;
struct nodeTypeTag * parametres[1];
} cpNodeType;
/* function */
typedef struct {
char* fct; /* operator */
} fctNodeType;
typedef struct nodeTypeTag {
nodeEnum type; /* type of node */
/* union must be last entry in nodeType */
/* because operNodeType may dynamically increase */
union {
floatNodeType fl; /* constants */
fctNodeType fct; /* identifiers */
cpNodeType cp; /* operators */
};
} nodeType;
extern int sym[26];
mais normalement j'ai fai un include mais j'ai tjrs la même erreur.