/ / Le champ est de type incomplet; Structure déjà déclarée [duplicate] - c, erreurs de compilation, champ

Le champ a un type incomplet. Structure déjà déclarée [duplicate] - c, erreurs de compilation, champ

Je suis actuellement en train de programmer en C et

typedef struct Stack Stack;

struct Stack {
Stack above;
Tree *t;
char *tag;
};

Je reçois le champ d'erreur "ci-dessus"type incomplet " J'ai déjà déclaré la structure dans le typedef au-dessus, donc je ne suis pas sûr de savoir pourquoi j'ai des problèmes. J'ai regardé autour de moi, mais je n'ai rien trouvé qui puisse me permettre de comprendre cela. Merci!

Réponses:

0 pour la réponse № 1

Vous pouvez avoir un pointeur sur votre structure dans votre structure, mais pas une structure réelle qui, pour une pile, est probablement ce que vous recherchez.

typedef struct Stack Stack;

struct Stack {
Stack *above;
Tree *t;
char *tag;
};

Imaginez-vous, si vous aviez la structure B dans la structure A, eh bien, il y aurait une structure C dans la structure B, et une structure D dans la structure C ... encore et encore.

struct Stack {
Stack above {
Stack above {
Stack above {
Stack above
...............
Tree *t;
char *tag;
};
Tree *t;
char *tag;
};
Tree *t;
char *tag;
};
Tree *t;
char *tag;
};