2016-03-08 92 views
0

結構:衝突的類型的優先級隊列Ç

typedef int TIPAS; 

struct sarasas{ 
    int prioritetas; 
    TIPAS kintamasis; 
    struct sarasas *kitas; 
}; 
typedef struct sarasas elementas; 

struct priorEile{ 
    elementas* galva; 
    int ilgis; 
}; 
typedef struct priorEile* p_eile; 
typedef struct priorEile** p_eile2; 

頭:

void sukurti(p_eile2); 

功能

void sukurti(p_eile* eilute){ 
    *eilute=(struct priorEile*)calloc(1,sizeof(struct priorEile)); 
    (*eilute)->galva=NULL; 
} 

它的所有關於創建優先級隊列。 「sukurti」中有一個與typer相沖突的錯誤,之前的「sukurti」聲明在那裏。任何解決方案我犯了什麼錯誤?

+1

注意:他們說[你不應該在C]中輸入'malloc()'的結果(http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc )。 – MikeCAT

+0

不要'typedef'指針!它混淆了您的代碼並導致混淆。 – Olaf

+0

並比較兩個聲明! – Olaf

回答

1

您有錯誤,因爲函數sukurti的返回值的類型在聲明和定義之間有所不同。

嘗試更改int sukurti(p_eile* eilute){void sukurti(p_eile* eilute){