有人可以用“未知类型名称'treeElement'”错误帮助我吗?

问题描述 投票:1回答:1
typedef void* treeElementData;

// A linked list node - instrument for define the sons of treeElement
typedef struct sons_list {
    treeElementData data;
    struct tree_element *next;
} sonsList;

typedef struct tree_element {
    treeElementData data;
    sonsList* sons_element;
    treeElement* parent;                // Here is the place of the error.
} treeElement;

typedef struct tree_root {
    treeElement* root;
} treeRoot;

有人可以帮我解决这个问题吗?

unknown type name 'treeElement' error
c
1个回答
2
投票

当您声明结构时,您的typedef尚未生效(typedef在结构声明的末尾可用(即:在} treeElement;之后)

你需要使用完整的符号来引用你的结构,所以qazxsw poi

如果你绝对想在结构声明中使用你的define,你可以在之前设置你的typedef:

struct tree_element* parent

但是在我看来,输入一个尚未声明的结构似乎有点奇怪。

© www.soinside.com 2019 - 2024. All rights reserved.