According to C++11 Features (Modern C++), VC++ 2013 now supports non-static data member initializers.
However, the following code is rejected by VC++ 2013:
struct A
{
const int n = 0; // error C2864
};
error C2864: 'A::n' : only static const integral data members can be initialized within a class
What's the root cause? Is it a compiler bug?