Les Données Statiques De L'Initialisation De Membre

Pourquoi doit-statique des données d'initialisation de membre à l'extérieur de la classe?

class X
{
public:
      int normalValue = 5; //NSDMI
      static int i;
};

int X::i = 0;

Pourquoi la donnée membre statique (ici "je"), seule une déclaration, pas une définition?

Parce que. 😉 C'est juste la façon dont le langage est défini. 😉
Vous êtes autorisé static const int i = 10.
ce n'est pas encore une définition, et parfois une définition est nécessaire, voir gcc.gnu.org/wiki/...

OriginalL'auteur CyberGuy | 2012-07-02