1

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?

4

1 回答 1

4

根本原因是什么?它是编译器错误吗?

这是一个文档错误,这里和评论中 chris 的链接都说非静态数据成员初始化程序将在 VS2013 RTM 中实现。

当您在 MSDN 上发现虚假信息时不要感到惊讶,有很多旧资料等没有人更新或有人在输入时出错。

于 2013-09-13T03:07:24.167 回答