でエラーをコンパイル私は++打ち鳴らすためにはgccからのプロジェクトの移行を試してみたいです。私は、コードconstexprの打ち鳴らす++ではないグラム++
template <typename T>
constexpr T pi{std::acos(T(-1.0))};
の以下のビットは、グラムで静かにコンパイル++が、打ち鳴らすが、++エラー
trig.hpp:3:13: error: constexpr variable 'pi<float>' must be initialized by a constant expression
constexpr T pi{std::acos(T(-1.0))};
を生成し、私はについての詳細を知っている誰かを期待していた理由は、私はわからないんだけど、私の部分に無知を認めますそれは私よりも私を啓発することができます。
NB:-std = C++ 14とC++ 1Yと試みました。 clangバージョン3.6.2(タグ/ RELEASE_362/final)で失敗します。 g ++(GCC)5.2.0で動作します。
はに関連して見える[それは準拠ですconstexprとして非constexprの標準ライブラリ関数を処理するためのコンパイラ拡張?](http://stackoverflow.com/q/27744079/1708801) –
@ShafikYaghmour私はうまく検索したと思った。私は間違っていた。ありがとうございました。これは本当に失望の結果です。私はGCCが標準で禁止されているものを許可しようとしているときに、少なくとも警告を出さないことにも驚いています。私は - ペディアンと一緒にコンパイルしていた! 回答を書く場合は、私はそれを受け入れます。 – Timtro
私はその質問が来ていなかった驚いていないよ、キーワードでの重複は最小限のようです。私が最初にこれに遭遇したのは約1年前でした。私は何も見つけられませんでした。私はその作品を一緒に置くことができたときに私が誤って言語ワーキンググループの問題2013に遭遇するまででした。 –