2017-01-14 53 views
1

我正在使用C編寫一個簡單的AVL樹實現。我在我的代碼的各個部分遇到問題。有時我會遇到這個錯誤,有時候解引用工作得很好。解除引用指向不完整類型的指針(結構節點)

這是我結構節點的樣子:

struct Node 
{ 
    int data; 
    struct Node *left; 
    struct Node *right; 
    int height; 
}; 

這裏就是我得到的間接引用誤差(準確的如果(數據<(P->數據))

struct node* search(struct node* p, int data) 
{ 
    if (!p) 
     return NULL; 
    if (data < (p->data)) 
     return search(p -> left, data); 
    else if (data > p -> data) 
     return search(p -> right, data); 
    else 
     return p; 
} 

另外這裏:

struct Node remove_min(struct Node *x) 
{ 
if (x->left == NULL) 
    return x->right; 
x->left = deleteMin(x->left); 
return x; 
} 

任何幫助,將不勝感激。謝謝

+0

是'struct節點'定義和代碼,你在同一個文件中看到這個錯誤?如果沒有,你能更清楚地瞭解你的代碼是如何組織的,你的'#include'語句是什麼樣的?理想情況下,您可以提供一個簡單的複製器,完全展示問題。 – larsks

+0

你的代碼在哪裏,當你打電話搜索時,我的意思是你的主代碼? –

+0

我已經發布完整的代碼作爲答案,您可以在那裏看看,謝謝。 –

回答

2

更改struct nodestruct Node

相關問題