我没有遵循标准吗?

Puy*_*ver 0 c++

如果我有这样的事情:

MyStruct clip;

clip = {16, 16, 16, 16};
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢.

Mar*_*k B 8

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