我没有遵循标准吗?

时间:2010-06-29 21:05:16

标签: c++

如果我有这样的话:

MyStruct clip;

clip = {16, 16, 16, 16};

我从编译器收到以下警告: 警告:扩展初始化程序列表仅适用于-std = c ++ 0x或-std = gnu ++ 0x

如果我在编译器中激活-std = c ++ 0x,它不会发出任何警告。但我不确定我是否遵守标准。那么我应该停用该标志并单独初始化结构的每个成员吗?

谢谢。

1 个答案:

答案 0 :(得分:8)

对于初始化,您应该能够使用MyStruct clip = {16, 16, 16, 16};,但正如您在当前的C ++标准中发现的那样,您无法分配到括号列表中。在C ++ 1x中,您可以使用扩展语法。