Has “In class member initialization” feature made

2019-01-20 07:58发布

In class initialization feature, which allows to initialize normal members inside the class itself,

struct A {
  int a = 0; // error: ISO C++ forbids in-class initialization of non-const static member ‘a’
};

This is giving error in latest compiler gcc-4.6 (with -std=c++0x). Has this feature made into the C++11 standard or gcc still doesn't support it ?

1条回答
男人必须洒脱
2楼-- · 2019-01-20 08:42

Yes, that is legal in C++0x. There is an example of this at N3290 §12.6.2/8:

struct C {
    /* ... */
    int j = 5; // OK: j has the value 5
};
查看更多
登录 后发表回答