这个
class X
{
int x = 2;
string y {"smt"};
int tab[3] = {1,2,3}; // or tab[3] {1,2,3}
};
据我所知,在新的 C++ 11 标准中是可能的。但是,在 Visual Studio 2012 V3 或 2013 中都不允许这样做。第一个给出:
error C2864: 'A::a' : only static const integral data members can be initialized within a class
关于';'的第二个和第三个错误 和 '{' 。
这是否基本上意味着这些功能在 MS 编译器中仍然不可用?什么编译器实际上支持它?我在 Visual 中搜索了有关类内初始化的答案,但没有发现有关最新版本的任何具体信息。
提前致谢。