error C2144: 语法错误:“int”的前面应有“;”

来源:互联网 发布:golang mgo 编辑:程序博客网 时间:2024/05/18 07:59

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.cppmain()函数返回变量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

0 0