Maison  >  Article  >  développement back-end  >  Résoudre le problème de "erreur : 'classe' n'a aucun membre nommé 'variable'" dans le code C++

Résoudre le problème de "erreur : 'classe' n'a aucun membre nommé 'variable'" dans le code C++

WBOY
WBOYoriginal
2023-08-25 20:43:593074parcourir

解决C++代码中出现的“error: 'class' has no member named 'variable'”问题

Résoudre le problème « erreur : 'classe' n'a aucun membre nommé 'variable' » dans le code C++

Lors de l'écriture de code C++, nous rencontrons parfois de tels problèmes : « erreur : 'class' n'a aucun membre nommé 'variable' ", ce message d'erreur signifie qu'il y a un problème lors de l'utilisation des variables membres de la classe. Cet article présentera plusieurs causes et solutions courantes, et fournira des exemples de code correspondants.

Tout d'abord, la raison de cette erreur peut être l'une des situations suivantes :

  1. La variable membre n'est pas déclarée dans la classe :
    Dans ce cas, le compilateur ne trouve pas la définition de la variable membre, ce qui entraîne une erreur. La solution consiste à ajouter la variable membre dans la déclaration de classe.
class MyClass {
public:
    int myVariable; // 声明成员变量
    void myMethod(); // 声明成员方法
};

void MyClass::myMethod() {
    myVariable = 10; // 使用成员变量
}
  1. La variable membre de la classe est définie sur un accès privé ou protégé :
    Dans ce cas, la variable membre n'est pas directement accessible depuis l'extérieur de la classe, donc une erreur se produira également. La solution consiste à fournir des fonctions d'accès public (getters et setters) pour accéder aux variables membres.
class MyClass {
private:
    int myVariable; // 私有成员变量
public:
    int getMyVariable() const {
        return myVariable; // getter函数
    }
    void setMyVariable(int value) {
        myVariable = value; // setter函数
    }
};

void myMethod() {
    MyClass obj;
    obj.setMyVariable(10); // 设置成员变量的值
    int value = obj.getMyVariable(); // 获取成员变量的值
}
  1. Les variables membres de la classe sont définies en dehors de la classe :
    Cette erreur se produira également si les variables membres de la classe sont définies en dehors de la classe et ne sont pas déclarées correctement. La solution consiste à placer la définition des variables membres dans le corps de la classe.
class MyClass {
public:
    int myVariable; // 成员变量的声明
    void myMethod(); // 成员方法的声明
};

int MyClass::myVariable = 0; // 错误的定义方式

void MyClass::myMethod() {
    myVariable = 10; // 使用成员变量
}

Avec les solutions ci-dessus, nous pouvons éviter le problème "erreur : 'classe' n'a aucun membre nommé 'variable'". Lors de l'écriture de code C++, nous devons prêter attention à la déclaration et aux droits d'accès des variables membres de la classe, ainsi qu'à l'emplacement de définition des variables membres.

J'espère que cet article sera utile pour résoudre les problèmes liés au code C++. N'hésitez pas à poser d'autres questions.

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!

Déclaration:
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