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
答案 0 :(得分:2)
当您声明结构时,您的typedef尚未生效(typedef在结构声明的末尾可用(即:} treeElement;
之后)
您需要使用complet符号来引用您的结构struct tree_element* parent
如果你绝对想在结构声明中使用你的define,你可以在之前设置你的typedef:
typedef struct tree_element treeElement;
struct tree_element {
treeElementData data;
sonsList* sons_element;
treeElement* parent;
};
但是,输入一个尚未在我看来声明的结构,这似乎有点奇怪。