error C2143: syntax error : missing ';' before '{'

error C2143: syntax error : missing ';' before '{'

這是我在實現哈夫曼樹的時候,遇到的錯誤,具體爲什麼我也不清楚!!!因爲這是我用學校實驗室的電腦編譯出現的錯誤(用的軟件是VC6.0,賊老的版本!!!),我自己的是Code Blocks(沒有出錯)???

代碼如下:

for ( i = 1; i <= n; i++ )  
    {
        huffNode HT[i](w[i],0,0,0);//初始化前n個節點(構造哈夫曼樹的原始節點)  
    }

然後,就有錯了(—_—!)

error C2057: expected constant expression

error C2466: cannot allocate an array of constant size 0

error C2538: new : cannot specify initializer for arrays

然後我再改(我就不信了!!!)

改動如下:

for ( i = 1; i <= n; i++ )  
    {
        HT[i]={w[i],0,0,0};//初始化前n個節點(構造哈夫曼樹的原始節點)  
    } 

唉!還是錯了

error C2059: syntax error : '{'

error C2143: syntax error : missing ';' before '{'

error C2143: syntax error : missing ';' before '}'

 

最後的解決辦法是:

直接賦值

看代碼:

複製代碼
    for ( i = 1; i <= n; i++ )
 {
      //初始化前n個節點(構造哈夫曼樹的原始節點)
        HT[i].weight=w[i];
        HT[i].lchild=0;
        HT[i].rchild=0;
        HT[i].parent=0;
}
複製代碼

OK啦!!!(^_^)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章