场地类型不完整;结构已经宣布

时间:2018-02-28 01:25:09

标签: c compiler-errors field

我目前正在使用C编程,并且已经

typedef struct Stack Stack;

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

我收到错误“字段”上方'包含不完整类型' 我已经在它上面的typedef中声明了结构,所以我不确定为什么我有问题。我环顾四周,但没有发现任何与此有关的内容。谢谢!

1 个答案:

答案 0 :(得分:0)

你可以在你的struct中有一个指向你的struct的指针,但不是一个实际的struct,对于一个堆栈,你可能就是你所追求的。

typedef struct Stack Stack;

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

试想一下,如果你在struct A中有结构B,那么结构B中会有一个结构C,而结构C里面会有一个结构D ... on和on。

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;
};