私はこのようなコードを持っています:
class MyClass
{
private:
static const int intvalue= 50;
static const float floatvalue = 0.07f;
};
Visual Studio 2010 で、次のエラーが発生します。
Myclasses.h(86): error C2864: 'MyClass::floatvalue : only static const integral data members can be initialized within a class
では、C++ で静的定数 float を初期化する方法は?
コンストラクターを使用すると、このクラスのオブジェクトが作成されるたびに、変数が初期化されますが、これは良くありません。
どうやらコードは Linux 上の GCC でコンパイルされているようです。