【发布时间】:2010-06-29 21:05:16
【问题描述】:
如果我有这样的事情:
MyStruct clip;
clip = {16, 16, 16, 16};
我从编译器收到以下警告: 警告:扩展初始化列表仅适用于 -std=c++0x 或 -std=gnu++0x
如果我在编译器中激活 -std=c++0x,它不会给出任何警告。但我不确定我是否遵循标准。那么我应该停用该标志并分别初始化结构的每个成员吗?
谢谢。
【问题讨论】:
标签: c++
如果我有这样的事情:
MyStruct clip;
clip = {16, 16, 16, 16};
我从编译器收到以下警告: 警告:扩展初始化列表仅适用于 -std=c++0x 或 -std=gnu++0x
如果我在编译器中激活 -std=c++0x,它不会给出任何警告。但我不确定我是否遵循标准。那么我应该停用该标志并分别初始化结构的每个成员吗?
谢谢。
【问题讨论】:
标签: c++
对于初始化,您应该能够使用MyStruct clip = {16, 16, 16, 16};,但正如您在当前的 C++ 标准中发现的那样,您不能分配给括号列表。在 C++1x 中,您可以使用扩展语法。
【讨论】: