这与当前的 MSVC 编译器编译得非常好:
struct Foo
{
} const foo;
但是,它无法使用当前的 g++ 编译器进行编译:
error: uninitialized const 'foo' [-fpermissive]
note: 'const struct Foo' has no user-provided default constructor
如果我自己提供一个默认构造函数,它可以工作:
struct Foo
{
Foo() {}
} const foo;
这是 MSVC 过于宽松的另一种情况,还是 g++ 在这里过于严格?