0
私のプロジェクトではMingw-w64
コンパイラを使用しています。今私はMSVC2015
でプロジェクトをコンパイルしています。次の行はエラーを与える:MSVC 2015はconstexpr atanをコンパイルできません
constexpr double pi = 4*std::atan(1);
エラー:
それは何の問題もなくmingwのでコンパイルしかしerror: C2131: expression did not evaluate to a constant
。
おそらくstd :: atan()はMingw-w64コンパイラのconstexprであり、MSVC2015の実装ではありません。この機能の比較 Mingw-64に同梱のヘッダファイルとVisual Studioに同梱のファイル –
mvidelgauz
のヘッダファイルはgccのバグのようです。 ClangとMSVSはどちらもコードを正しく拒否します。 – NathanOliver