Accès à une variable de classe statique à partir d'une méthode non statique
En C, lorsque vous rencontrez une référence non définie à une variable statique, comme dans le étant donné un extrait de code, le problème réside généralement dans l'absence de définition pour cette variable.
Dans l'exemple fourni, où le code tente d'accéder la variable statique x à partir de la méthode non statique foo, il est important de noter que foo n'est pas une fonction statique. Par conséquent, pour résoudre ce problème, une définition pour Helloworld::x doit être fournie en dehors de la définition de la classe.
int Helloworld::x = 0; // Provide an initial value or leave uninitialized
Une fois la variable statique définie, la méthode non statique foo peut y accéder et la modifier. sans exiger que foo soit lui-même statique.
void Helloworld::foo() { Helloworld::x = 10; }
En fournissant une définition de la variable membre statique, le compilateur peut localiser son adresse mémoire et résoudre la référence non définie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!