C错误引用指向不完整类型二进制树的指针

时间:2015-12-01 03:15:42

标签: c pointers binary-tree

我正在编写一个C库来管理二叉树,我收到错误"引用指向不完整类型的指针"而且我不确定如何解决这个问题。这是我的代码:

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
}

我不太确定我应该如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

我看到多个错误:

  • 您正在访问val的{​​{1}}字段,因为它被声明为bintree
  • value包含指向bintree的指针,但该类型未在任何地方定义(导致您的错误)