0

コードのコンパイルに問題があります。私はこの特定のコードを持っています

    typedef double Type;

    static const Type MAX_VALUE = __DBL_MAX__;
    static const Type MIN_VALUE = -__DBL_MAX__;

今、コンパイルしようとすると。次のエラーが表示されます

error: a call to a constructor cannot appear in a constant-expression

定義 const を constexpr に変更します。しかし、それは次のエラーを示しています

error: ‘constexpr’ does not name a type
note: C++0x ‘constexpr’ only available with -std=c++0x or -std=gnu++0x

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

私の水晶玉は、これらの行がクラス定義の中にあることを教えてくれます。それはあなたが残した非常に重要な情報です。

C++11 より前は、クラス本体内で初期化できるのは、整数型および列挙型の静的メンバーのみでした。浮動小数点を含むその他のものは、外部で定義する必要があります。

于 2012-06-12T17:08:30.350 に答える