12

在类初始化特性中,它允许在类本身内部初始化普通成员,

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

这在最新的编译器 gcc-4.6 (with -std=c++0x) 中给出了错误。此功能是否已纳入 C++11 标准或 gcc 仍然不支持它?

4

1 回答 1

23

是的,这在 C++0x 中是合法的。在 N3290 §12.6.2/8 中有一个例子:

struct C {
    /* ... */
    int j = 5; // OK: j has the value 5
};
于 2011-06-26T06:54:13.510 回答