• warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]


    struct test{
    int a=1111111;

    }test;

    vincentdeMacBook-Air:datasturte vincent$ g++ struct.cpp -o structpp
    struct.cpp:4:6: warning: in-class initialization of non-static data member is a
          C++11 extension [-Wc++11-extensions]
    int a=11111111;
         ^
    1 warning generated.

    struct test{
    const int a=1111111;

    }test;

    vincentdeMacBook-Air:datasturte vincent$ g++ struct.cpp -o structpp
    struct.cpp:4:12: warning: in-class initialization of non-static data member is a
          C++11 extension [-Wc++11-extensions]
    const int a=11111111;
               ^
    struct.cpp:29:4: error: cannot assign to non-static data member 'a' with
          const-qualified type 'const int'
    q.a=10;
    ~~~^
    struct.cpp:4:11: note: non-static data member 'a' declared const here
    const int a=11111111;
    ~~~~~~~~~~^~~~~~~~~~
    1 warning and 1 error generated.
    vincentdeMacBook-Air:datasturte vincent$ g++ struct.cpp -o structpp
    struct.cpp:29:4: error: cannot assign to static data member 'a' with
          const-qualified type 'const int'
    q.a=10;
    ~~~^

    struct test{

    static int a=11111111;

    }test;

    struct.cpp:4:18: note: static data member 'a' declared const here
    static const int a=11111111;
    ~~~~~~~~~~~~~~~~~^~~~~~~~~~
    1 error generated.


    vincentdeMacBook-Air:datasturte vincent$ g++ struct.cpp -o structpp struct.cpp:4:12: error: non-const static data member must be initialized out of line static int a=11111111; ^ ~~~~~~~~ 1 error generated.

      同样问题:http://stackoverflow.com/questions/13662441/c11-allows-in-class-initialization-of-non-static-and-non-const-members-what-c

  • 相关阅读:
    java数组基础
    java异常处理机制
    java面向对象基础(四):抽象类和接口
    java面向对象基础(二)
    java类路径classpath和包
    java面向对象基础(一)
    Tomcat(二):tomcat配置文件server.xml详解和部署简介
    java集合框架(Collections Framework)
    java基础数据类型包装类
    String、StringBuilder和StringBuffer类
  • 原文地址:https://www.cnblogs.com/vincentqliu/p/6553258.html
Copyright © 2020-2023  润新知