C错误取消引用指向不完整类型二叉树的指针
C error deferencing pointer to incomplete type Binary tree
我正在编写一个 C 库来管理二叉树,但出现错误 "deferencing pointer to incomplete type",我不确定如何解决该问题。这是我的代码:
typedef struct bintree {
int val;
struct node * left;
struct node * right;
} bintree;
和创建树的代码:
bintree* createbintree(bintree * tree, int val) {
if (tree->val == NULL)
tree->val = val;
else if (val < tree->val)
if (tree->left != NULL)
insert(tree->left, val);
else {
tree->left = malloc(sizeof(bintree));
tree->left->val = val;
} //error occur here
else if (val >= tree->val)
if (tree->right != NULL)
insert(tree->right, val);
else {
tree->right = malloc(sizeof(bintree));
tree->right->val = val;
} //and also here
}
我不太确定应该如何解决这个问题。
我看到多个错误:
- 您正在访问
bintree
的字段 val
,而它被声明为 value
- a
bintree
包含指向 struct node*
的指针,但该类型未在任何地方定义(这会导致您的错误)
我正在编写一个 C 库来管理二叉树,但出现错误 "deferencing pointer to incomplete type",我不确定如何解决该问题。这是我的代码:
typedef struct bintree {
int val;
struct node * left;
struct node * right;
} bintree;
和创建树的代码:
bintree* createbintree(bintree * tree, int val) {
if (tree->val == NULL)
tree->val = val;
else if (val < tree->val)
if (tree->left != NULL)
insert(tree->left, val);
else {
tree->left = malloc(sizeof(bintree));
tree->left->val = val;
} //error occur here
else if (val >= tree->val)
if (tree->right != NULL)
insert(tree->right, val);
else {
tree->right = malloc(sizeof(bintree));
tree->right->val = val;
} //and also here
}
我不太确定应该如何解决这个问题。
我看到多个错误:
- 您正在访问
bintree
的字段val
,而它被声明为value
- a
bintree
包含指向struct node*
的指针,但该类型未在任何地方定义(这会导致您的错误)