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啦!!!(^_^)

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

时间: 2024-12-24 10:46:14

error C2143: syntax error : missing ';' before '{'的相关文章

一个关于调用函数函参写void的错误error C2143 syntax error missing &#39;)&#39; before &#39;type&#39;

error C2143 syntax error missing ')' before 'type' 错误代码: srand((unsigned)clock(void)); 错误原因: 画蛇添足的写了void 修改: 把void去掉即可 总结: void代表空,就是实实在在的什么都没有,除非是在声明,否则平常用的时候就是空. 一个关于调用函数函参写void的错误error C2143 syntax error missing ')' before 'type'

error C2143: syntax error : missing &#39;;&#39; before &#39;type&#39;

许久之前,就想看看C和C++,看看这两种神奇的编程语言,但是一直被这样或者那样的琐事给耽搁了(狂喷自己的拖延症). 今天翻开自己的移动硬盘找到一本古老的书籍:<The C Programming Language 中文版>,浏览一下,缓解一下内心的空虚. 事情并没有想象中的那么顺利,刚看了一个例子的两种方法,但是当把他们组合起来时,就遇到了困难: 错误提示: error C2143: syntax error : missing ';' before 'type' error C2065: '

vs2012编译C代码,总是出现error C2143: syntax error : missing &#39;;&#39; before &#39;type&#39;

今天编译一个动态库,里面有用C编写的源文件, 为了调试自己加了一些简单的信息输出语句,但是总是编译不过, 最后精简到只是定义一个函数的局部变量也会编译失败, 最后Google了才明白,vs在编译C代码的时候会有一些特殊的check, 其中一种就是需要函数定义局部变量要在开头. 举例如下: 错误的代码 void func1() { int x: //do some work int y; //do other work } 这样的代码在编译的时候就会在int y 这里报error C2143: s

突然出现错误gdiplustypes.h(280): error C2059: syntax error : &#39;constant&#39;等未知错误

gdiplustypes.h(280): error C2059: syntax error : 'constant'gdiplustypes.h(280): error C2238: unexpected token(s) preceding ';'gdiplustypes.h(281): error C2059: syntax error : 'constant'gdiplustypes.h(281): error C2238: unexpected token(s) preceding '

LINK : fatal error LNK1117: syntax error in option &#39;VERSION:1.6.5&#39;

今天在用vs2015编译ogre 1.6.5的代码时发生连接错误 LINK : fatal error LNK1117: syntax error in option 'VERSION:1.6.5'. 解决:On the Settings (Project > Settings > Linker) removing the "Version" entry. 没有深入搞懂为什么,先Mark下. 参考: http://stackoverflow.com/questions/20

syntax error : missing &#39;;&#39; before &#39;type&#39;

#include <stdio.h> #include <stdlib.h> int main (int argc, char **argv) { char a[] = {'a','b','c','d','e'}; char b[] = "abcde"; char c[][3] = {{ 'a' , 'b' , 'c' },{ 'd' , 'e' , 'f' },{ 'g' ,'h' , 'j' },{ 'k' , 'h' , 'l' }}; char *p =

Cocos2dx 3.6源代码编译错误:syntax error : missing &amp;#39;)&amp;#39; before &amp;#39;{&amp;#39;

在编译Cocos2dx 3.6版本号时.发现编译错误: 定位代码行: debugForNormalSprite->drawPoints(positions, 4, 8, Color4F{0.0,1.0,1.0,1.0}); 改动例如以下: debugForNormalSprite->drawPoints(positions, 4, 8, Color4F<span style="color:#ff0000;">(</span>0.0,1.0,1.0,1

Cocos2dx 3.6源码编译错误:syntax error : missing &#39;)&#39; before &#39;{&#39;

在编译Cocos2dx 3.6版本时,发现编译错误: 定位代码行: debugForNormalSprite->drawPoints(positions, 4, 8, Color4F{0.0,1.0,1.0,1.0}); 修改如下: debugForNormalSprite->drawPoints(positions, 4, 8, Color4F<span style="color:#ff0000;">(</span>0.0,1.0,1.0,1.0&

Laravel 5.4 migrate报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `us ers_email_unique`(`email`))

Laravel 5.4 migrate报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `us     ers_email_unique`(`email`)) public function up() { Schema::create('users', function (Blu