clang 3.4接受以下代码
struct A
{
int a[2] = {1, 2};
};
但是,vc++ 2014 CTP 拒绝它并显示错误消息:
错误 C2536:“A::A::a”:无法为数组指定显式初始值设定项
哪个编译器是正确的?
最佳答案
是的,这是合法的,但 VC++ 不支持此功能。这是 uniform initialization的 in-class member initialization .
当然the =
sign is optional并且您的代码与以下代码相同:
struct A
{
int a[2] {1, 2};
};
关于c++ - 是 struct A { int a[2] = {1, 2}; };根据 C++11 是否合法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816984/