static const membre de l'initialisation d'une variable

Regarde comme je peux l'init d'un POD static const membre, mais pas les autres types:

struct C {
  static const int a = 42;      //OK
  static const string b = "hi"; //compile error
};

Pourquoi?

Je parie que quelqu'un va répondre avec une citation de la norme, qui n'a pas vraiment vous dire pourquoi 🙂
J'ai évité la norme.
T pense que c'est parce qu'il doit être evaluatet au moment de la compilation. C'est pourquoi elle travaille également avec constexpr en C++11
Et vous êtes aussi en tentant d'expliquer pourquoi, ce qui est bon.
ce n'est pas une réponse complète; pas toute l'histoire. J'ai peut-tin.

OriginalL'auteur Deqing | 2014-07-17