Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur de syntaxe C++ : « attendu ')' avant le jeton « & » ?

Comment résoudre l'erreur de syntaxe C++ : « attendu ')' avant le jeton « & » ?

王林
王林original
2023-08-26 20:13:451780parcourir

如何解决C++语法错误:'expected ')' before '&' token'?

Comment résoudre l'erreur de syntaxe C++ : 'attendu ')' avant '&' token' ?

Dans le processus de programmation C++, diverses erreurs de syntaxe sont souvent rencontrées. L'une des erreurs courantes est : "attendu ')' avant le jeton '&'". Cette erreur se produit généralement dans la liste des paramètres d'une fonction ou d'une méthode, indiquant que le compilateur ne peut pas comprendre la parenthèse droite manquante avant une variable ou un type.

Ce qui suit explique en détail comment résoudre cette erreur et fournit quelques exemples de code pour nous aider à mieux comprendre.

Tout d'abord, regardons un exemple de code simple :

void myFunction(int& num;
{
    // 函数体
}

Dans le code ci-dessus, le crochet droit) est manquant après int& dans la liste des paramètres, ce qui amène le compilateur à signaler "'attendu")' avant le jeton '&' ' "erreur. L'erreur suggère que nous devrions ajouter un crochet fermant avant &.

Ensuite, corrigeons cette erreur :

void myFunction(int& num)
{
    // 函数体
}

Dans le code corrigé ci-dessus, nous avons ajouté le crochet fermant manquant après l'int& et mis le corps de la fonction dans la bonne position.

Une autre situation courante est que l'erreur se produit entre la déclaration et la définition d'une fonction membre d'une classe. Voici un exemple :

class MyClass
{
public:
    void myFunction(int& num;
};

void MyClass::myFunction(int& num)
{
    // 函数体
}

Dans l'exemple ci-dessus, une parenthèse droite est manquante après la liste de paramètres dans la déclaration de fonction membre de la classe, ce qui oblige le compilateur à signaler un "'attendu')' avant '&' jeton'. " erreur. Nous devons ajouter le crochet fermant manquant après la liste des paramètres.

Le code fixe est le suivant :

class MyClass
{
public:
    void myFunction(int& num);
};

void MyClass::myFunction(int& num)
{
    // 函数体
}

En plus de ces deux cas courants, cette erreur peut également apparaître à d'autres endroits. Mais peu importe où il apparaît, la solution est la même : il suffit d’ajouter le crochet fermant là où il manque.

Il convient de noter que cette erreur peut apparaître plusieurs fois. Le compilateur peut signaler d'autres erreurs de syntaxe, probablement dues à une erreur précédente ayant entraîné l'absence d'une parenthèse fermante. Par conséquent, avant de résoudre l’erreur de crochet fermant manquant, nous devons vérifier soigneusement s’il existe d’autres erreurs dans le code.

Pour éviter de telles erreurs, nous devons développer de bonnes habitudes de codage et vérifier soigneusement le code, en particulier la liste des paramètres de la fonction ou de la méthode, pour nous assurer que toutes les parenthèses fermantes sont placées correctement.

Pour résumer, lorsque nous rencontrons l'erreur de syntaxe C++ : "attendu ')' avant le jeton '&'", nous devons soigneusement vérifier s'il manque le crochet droit dans le code. En ajoutant le crochet fermant manquant, nous pouvons résoudre cette erreur et garantir que le code se compile correctement.

J'espère que les solutions et les exemples de code fournis dans cet article pourront vous aider à comprendre et à résoudre l'erreur "attendu ')' avant le jeton '&'". Bon codage !

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