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

Why does VC++ 2013 not support non-static data member initializers as promised

本文关键字:数据成员 静态 2013 VC++ 不支持 承诺 为什么      更新时间:2023-10-16

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

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

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

错误 C2864: 'A::n' : 只能在类中初始化静态常量整数数据成员

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

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

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

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