這是我在實現哈夫曼樹的時候,遇到的錯誤,具體為什么我也不清楚!!!因為這是我用學校實驗室的電腦編譯出現的錯誤(用的軟件是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啦!!!(^_^)