struct A{
constexpr A(){}
};
A a;
int main(){}
ライブサンプルをご覧ください:ColiruおよびCompiler explorerclangはColiruでこのスニペットをコンパイルしますが、コンパイラエクスプローラではコンパイルしません。どうして?
struct A{
constexpr A(){}
};
A a;
int main(){}
ライブサンプルをご覧ください:ColiruおよびCompiler explorerclangはColiruでこのスニペットをコンパイルしますが、コンパイラエクスプローラではコンパイルしません。どうして?
ないコンパイラエクスプローラでいる間あなたは、coliruで以下のコンパイルオプションを使用:
-std=c++1z -O2 -Wall -pedantic -fno-elide-constructors -pthread
をあなたのコードはconstexpr
を使用しているため、ここでの重要な部分があることを現代的なC++のサポート(C++ 17を有効にする-std=c++1z
ですC++ 11を有効にするには-std=c++11
で十分です)。
コンパイラエクスプローラでボックスを空のままにしたときのフラグは何ですか? –
これは私が知らないclangのデフォルト値です。しかし、clang 3.9.0ではC++ 11のサポートがデフォルトで無効になっていることがわかりました – wasthishelpful
コンパイルフラグを忘れないでください。https://godbolt.org/g/pWndZO – krzaq
異なるコンパイラオプションはありますか? 'clang ++ -std = C++ 1z'のように。 –
@krzaqありがとう。ボックスを空のままにすると、デフォルトのフラグは何ですか? –