为什么VC ++ 2013不支持承诺的非静态数据成员初始值设定项

时间:2013-09-13 02:48:35

标签: c++ visual-c++ c++11 compiler-errors language-features

根据C++11 Features (Modern C++),VC ++ 2013现在支持非静态数据成员初始值设定项。

但是,VC ++ 2013拒绝了以下代码:

struct A
{
    const int n = 0; // error C2864
};

错误C2864:'A :: n':只能在类中初始化静态const积分数据成员

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

1 个答案:

答案 0 :(得分:4)

  

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

这是一个文档错误,评论中的here和chris的链接都表示非静态数据成员初始值设定项将在VS2013 RTM中实现。

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