类内初始化功能,允许初始化类内部的正常成员,
struct A {
int a = 0; // error: ISO C++ forbids in-class initialization of non-const static member ‘a’
};
这在最新的编译器gcc-4.6(带有-std=c++0x
)中给出了错误。这个特性是否已被纳入C++11标准,或者gcc仍然不支持它?
是的,这在C++0x中是合法的。N3290§12.6.2/8中有一个例子:
struct C {
/* ... */
int j = 5; // OK: j has the value 5
};