如果我有这样的话:
MyStruct clip;
clip = {16, 16, 16, 16};
我从编译器收到以下警告: 警告:扩展初始化程序列表仅适用于-std = c ++ 0x或-std = gnu ++ 0x
如果我在编译器中激活-std = c ++ 0x,它不会发出任何警告。但我不确定我是否遵守标准。那么我应该停用该标志并单独初始化结构的每个成员吗?
谢谢。
答案 0 :(得分:8)
对于初始化,您应该能够使用MyStruct clip = {16, 16, 16, 16};
,但正如您在当前的C ++标准中发现的那样,您无法分配到括号列表中。在C ++ 1x中,您可以使用扩展语法。