2010-06-29 51 views
0

如果我有这样的事情:我没有遵守标准吗?

MyStruct clip; 

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

我从编译器以下警告: 警告:仅适用于-std = C++ 0x或-std = GNU ++ 0x中

扩展初始化列表

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

谢谢。

回答

8

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

+0

好吧,我应该读一些关于这个新标准的信息http://en.wikipedia.org/wiki/C%2B%2B0x对不起xD 无论如何,谢谢! – Puyover 2010-06-29 21:12:35