Maison > développement back-end > C++ > Pourquoi est-ce que j'obtiens une erreur « Référence non définie » lors de l'accès à une variable statique dans une méthode C non statique ?

Pourquoi est-ce que j'obtiens une erreur « Référence non définie » lors de l'accès à une variable statique dans une méthode C non statique ?

DDD
Libérer: 2024-12-15 15:36:11
original
334 Les gens l'ont consulté

Why Do I Get an

Référence non définie à une variable statique en C

Lorsqu'ils tentent d'accéder à une variable statique dans une méthode non statique d'une classe, les développeurs peuvent rencontrez l'erreur "référence non définie". Pour résoudre ce problème, il est important de fournir une définition de la variable statique en dehors de la déclaration de classe.

Dans l'extrait de code fourni :

class Helloworld{
  public:
     static int x;
     void foo();
};

void Helloworld::foo(){
     Helloworld::x = 10;
};
Copier après la connexion

La variable statique x est déclarée dans le classe mais manque de définition. Pour résoudre ce problème, nous pouvons ajouter la ligne suivante en dehors de la définition de la classe :

int Helloworld::x;
Copier après la connexion

Cela fournit une définition pour x, permettant à la méthode foo() d'y accéder sans rencontrer d'erreur de référence non définie. Il est important de noter que la valeur par défaut des variables statiques est zéro, donc un initialiseur explicite peut être fourni si vous le souhaitez.

En suivant ces étapes, les développeurs peuvent accéder efficacement aux variables statiques au sein de méthodes non statiques, garantissant ainsi fonctionnalité de code et éviter les erreurs de référence non définies.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal