根据C++11 Features (Modern C++),VC ++ 2013现在支持非静态数据成员初始值设定项。
但是,VC ++ 2013拒绝了以下代码:
struct A
{
const int n = 0; // error C2864
};
错误C2864:'A :: n':只能在类中初始化静态const积分数据成员
根本原因是什么?它是编译器错误吗?
答案 0 :(得分:4)
根本原因是什么?它是编译器错误吗?
这是一个文档错误,评论中的here和chris的链接都表示非静态数据成员初始值设定项将在VS2013 RTM中实现。
当您在MSDN上发现虚假信息时,不要感到惊讶,有许多旧材料等,没有人更新或有人在输入时出错。