error C2144: 语法错误:“int”的前面应有“;”
C++- error C2144 syntax error : ‘int’ should be preceded by ‘;’
注:我使用VS2010时,遇到的问题。
解决办法
在某个.h文件里你自定义的某个类最后的“;”,你一定使用的是中文输入法下的“;”,将它换为英文输入法,输入”;“。问题解决。
注意:
中文输入法下的“;”和英文输入法下的“;”实在是太像了。
实例
错误程序
main.cpp
#include <iostream>
#include "helloworld.h"
int main(void)
{
HelloWorld hello;
hello.say();
while(1){}
return 0;
}
helloworld.h
#ifndef __HELLOWORLD_H_
#define __HELLOWORLD_H_
class HelloWorld{
public:
HelloWorld(){}
void say(){
std::cout << "Hello World!" << std::endl;
}
};
#endif
编译失败:
1> main.cpp : error C2144: 语法错误:“int”的前面应有“;”
1>
1>生成失败。
修改后正确的程序
修改helloworld.h
#ifndef __HELLOWORLD_H_
#define __HELLOWORLD_H_
class HelloWorld{
public:
HelloWorld(){}
void say(){
std::cout << "Hello World!" << std::endl;
}
};
#endif
编译成功:
1>生成成功。
注意:
另一种解决办法,(但是我不推荐使用):在main.cpp的main()函数返回变量
int
前面加上一个“;
”。也可以解决问题。
#include <iostream> #include "helloworld.h" ;int main(void) { HelloWorld hello; hello.say(); while(1){} return 0; }
参考网站:
1. http://stackoverflow.com/questions/11808432/c-error-c2144-syntax-error-int-should-be-preceded-by