clang 在 Coliru 中编译此代码段,但不在 Compiler Explorer 中编译。为什么?

clang compiles this snippet in Coliru, but not in Compiler Explorer. Why?

struct A{
   constexpr A(){}
};

A a;

int main(){}

查看实例:Coliru and Compiler explorer

您在 coliru 中使用了以下编译选项,而不是在编译器资源管理器中:

-std=c++1z -O2 -Wall -pedantic -fno-elide-constructors -pthread

因为您的代码使用 constexpr,这里的重要部分是 -std=c++1z 以启用现代 C++ 支持(准确地说是 C++17;请注意 -std=c++11 以启用 C+ +11 就足够了)。