Maison > développement back-end > C++ > le corps du texte

Comment résoudre l'erreur de syntaxe C++ : « expression primaire attendue avant le jeton « . » ?

王林
Libérer: 2023-08-26 19:43:45
original
3143 Les gens l'ont consulté

如何解决C++语法错误:'expected primary-expression before '.' token'?

Comment résoudre l'erreur de syntaxe C++ : « expression primaire attendue avant le jeton « . » ?

Lors de l'écriture de programmes en C++, nous rencontrons parfois diverses erreurs de syntaxe. L'une des erreurs courantes est « expression primaire attendue avant ». Jeton ». Lorsque nous utilisons une syntaxe incorrecte pour accéder aux membres d'une classe dans notre code, le compilateur signalera cette erreur.

Cette erreur est généralement causée par les raisons suivantes :

  1. Utilisation incorrecte de l'opérateur point (.) pour accéder aux variables membres ou aux fonctions membres d'un objet non-classe.
  2. Utilisation incorrecte de l'opérateur point (.) pour accéder aux variables membres ou aux fonctions membres d'un objet pointeur au lieu d'utiliser l'opérateur flèche (->).
  3. Lorsque nous utilisons un objet de classe non déclaré ou non défini comme préfixe d'une variable membre ou d'une fonction membre, le compilateur ne peut pas reconnaître l'objet.

Voici un exemple de code pour illustrer comment résoudre cette erreur :

Exemple 1 :

#include <iostream>
using namespace std;

int main() {
    int length = 10;
    cout.length;  // 错误:应该使用点运算符来访问一个类对象的成员
    return 0;
}
Copier après la connexion

Correction : remplacez cout.length par cout<

Exemple 2 :

#include <iostream>
using namespace std;

class MyClass {
public:
    void printHello() {
        cout<<"Hello"<<endl;
    }
};

int main() {
    MyClass* myObject;
    myObject.printHello();  // 错误:应该使用箭头运算符来访问指针对象的成员
    return 0;
}
Copier après la connexion

Corrigé en remplaçant myObject.printHello() par myObject->printHello().

Exemple 3 :

#include <iostream>
using namespace std;

class MyClass {
public:
    void printHello() {
        cout<<"Hello"<<endl;
    }
};

int main() {
    MyClass myObject;
    MyObject.printHello();  // 错误:使用了未定义的对象
    return 0;
}
Copier après la connexion

Corrigé en changeant MyObject.printHello() en myObject.printHello().

Avec les correctifs ci-dessus, nous pouvons résoudre l'erreur « expression primaire attendue avant le jeton ». Il convient de noter que la solution à cette erreur consiste à la corriger en fonction de la situation spécifique du code et à garantir que la syntaxe correcte est utilisée pour accéder aux membres de la classe. Dans le même temps, lors de l'écriture du code, nous devons également vérifier et réviser soigneusement le code pour éviter de telles erreurs grammaticales courantes afin d'améliorer la qualité et la stabilité du programme.

Pour résumer, l'erreur « expression primaire attendue avant le jeton « . » est causée par l'utilisation d'une syntaxe incorrecte lors de l'accès aux membres d'une classe. Nous pouvons facilement résoudre cette erreur en déclarant et en définissant des objets de classe en utilisant correctement les opérateurs point et flèche. Lorsque nous rencontrons de telles erreurs, nous pouvons vérifier soigneusement le code et effectuer des réparations en fonction de la situation spécifique pour garantir le fonctionnement normal du programme.

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