C++11 Features (Modern C++)によると、VC++ 2013 は非静的データ メンバー初期化子をサポートするようになりました。
ただし、次のコードは VC++ 2013 によって拒否されます。
struct A
{
const int n = 0; // error C2864
};
エラー C2864: 'A::n': クラス内で初期化できるのは static const 整数データ メンバーのみです
根本的な原因は何ですか?コンパイラのバグですか?
C++11 Features (Modern C++)によると、VC++ 2013 は非静的データ メンバー初期化子をサポートするようになりました。
ただし、次のコードは VC++ 2013 によって拒否されます。
struct A
{
const int n = 0; // error C2864
};
エラー C2864: 'A::n': クラス内で初期化できるのは static const 整数データ メンバーのみです
根本的な原因は何ですか?コンパイラのバグですか?
根本的な原因は何ですか?コンパイラのバグですか?
これはドキュメントのバグです。こことコメントの chris のリンクの両方で、非静的データ メンバー初期化子が VS2013 RTM に実装されると書かれています。
MSDN で誤った情報を見つけても驚かないでください。誰も更新していない、または誰かが入力を間違えた古い資料がたくさんあります。