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