我正在使用gcc 4.8.1,我对它处理POD /聚合初始化有疑问。我所拥有的是一些简单的类C结构:
struct S
{
//....
};
,没有任何用户定义的默认构造函数。
但由于-Wall -Wextra被设置为编译,使用如下语法:
S s = {};
或
S s; s = {};
生成警告,例如:
warning: missing initializer for member 'one-of-S-members' [-Wmissing-field-initializers
同事正在使用如下语法:
S s = S();
或
S s; s = S();
而且,这对我来说完全是个惊喜:
所以问题是 - 这是一些特定于gcc的怪癖吗?
代码使用-std = c ++ 11
进行编译