Это компилируется отлично с помощью текущего компилятора 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 является слишком разрешимым или слишком строгим?