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 に答える