Comment initialiser un static const float dans une classe C++ dans Visual Studio

J'ai un code comme ceci:

class MyClass
{
   private:
     static const int intvalue= 50;
     static const float floatvalue = 0.07f;
 };

dans Visual studio 2010 et j'obtiens cette erreur:

Myclasses.h(86): error C2864: 'MyClass::floatvalue : only static const integral data members can be initialized within a class

Alors comment initialiser une constante statique float en c++?

Si j'utilise constructeur, à chaque fois qu'un objet de cette classe est créée, la variable est initialisée qui n'est pas bon.

il semble que le code est compilé avec GCC sous Linux.

Il ne compile pas sur GCC pour moi, mais donne un très beau pointeur: erreur: ‘constexpr "nécessaire pour l'initialisation de classe de la donnée membre statique ‘const float Maclasse::floatvalue" de non-intégré type. Bien sûr, considérant que constexpr n'est même pas dans VS2012...
double possible de C++ initialiser des variables statiques dans la classe?

OriginalL'auteur mans | 2013-07-10