zoukankan      html  css  js  c++  java
  • error C2144: 语法错误:“int”的前面应有“;”

    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

  • 相关阅读:
    2.2 整数表示
    2.1 信息存储
    c++ string.erase()函数的使用
    classmethod修饰符
    27. 序列化
    26. 操作文件目录
    Java 内部类
    ConcurrentHashMap 源码解析 -- Java 容器
    Storm中的LocalState 代码解析
    Java中 return 和finally
  • 原文地址:https://www.cnblogs.com/aobosir/p/5928670.html
Copyright © 2011-2022 走看看