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 就足够了)。
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 就足够了)。