Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur de syntaxe C++ : « expression primaire attendue avant », jeton » ?

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

WBOY
WBOYoriginal
2023-08-25 19:30:3714531parcourir

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

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

Présentation :
Lors de l'écriture de code C++, nous rencontrons parfois diverses erreurs. L'un d'eux est "l'expression primaire attendue avant le jeton ','" (expression primaire manquante avant la virgule). Cette erreur est généralement détectée lors de la compilation et indique qu'il manque une expression valide.

Cet article explorera la cause de cette erreur et donnera quelques solutions de contournement et exemples de code.

Cause :
Cette erreur est généralement liée à la grammaire. Cela montre que quelque part dans le programme, nous mettons une virgule là où une virgule n'est pas nécessaire. Le compilateur C++ pense que la virgule doit apparaître entre deux expressions, donc si nous n'avons pas d'expression avant la virgule, il générera cette erreur.

Solution :
Voici quelques solutions courantes pour vous aider à résoudre ce problème :

  1. Vérifiez où la virgule est utilisée :
    Tout d'abord, nous devons trouver où l'erreur se produit. Nous devons vérifier soigneusement le code avant et après les virgules pour nous assurer que les virgules n'apparaissent qu'entre les expressions et que chaque virgule est précédée d'une expression primaire valide.
  2. Appel de fonction incorrect :
    Dans les appels de fonction, des virgules sont souvent utilisées pour séparer les paramètres. Cette erreur est générée si nous utilisons une virgule dans un appel de fonction sans donner d'arguments valides.

Par exemple :

void foo(int x, int y) {
    // 函数体
}

int main() {
    int a = 1;
    foo(a, ); // 此处缺少有效的参数
    return 0;
}

Dans l'exemple ci-dessus, nous avons oublié de fournir une expression valide pour le deuxième paramètre lors de l'appel de la fonction foo. Cela amènera le compilateur à signaler une erreur « expression primaire attendue avant le jeton ',' ».

Pour résoudre ce problème, nous devons fournir des expressions valides pour tous les paramètres de l'appel de fonction.

  1. Opérande manquant :
    Dans certains cas, nous pouvons oublier de fournir une expression valide pour l'opérande avant la virgule. Par exemple, dans une affectation ou une expression d'opérateur, une virgule est utilisée pour séparer chaque opérande.

Par exemple :

int main() {
    int a, b;
    a = , b; // 此处缺少有效的表达式
    return 0;
}

Dans l'exemple ci-dessus, nous avons oublié de fournir une expression d'affectation pour a avant la virgule. Cela amènera le compilateur à signaler une erreur « expression primaire attendue avant le jeton ',' ».

Pour résoudre ce problème, nous devons fournir une expression valide pour l'opérande avant la virgule.

Exemples de code :
Voici quelques exemples de code qui montrent comment résoudre l'erreur « expression primaire attendue avant ',' jeton ».

Exemple 1 : Correction d'une erreur dans l'appel de fonction

void foo(int x, int y) {
    // 函数体
}

int main() {
    int a = 1;
    int b = 2;
    foo(a, b); // 修复函数调用错误,为所有参数提供有效的表达式
    return 0;
}

Exemple 2 : Correction d'une erreur d'opérande manquant

int main() {
    int a = 1;
    int b = 2;
    a = a + 1, b; // 修复缺少操作数的错误,给逗号之前的操作数提供有效的表达式
    return 0;
}

Résumé :
En programmation C++, nous pouvons rencontrer diverses erreurs de syntaxe. Comprendre et résoudre ces erreurs est une étape importante pour devenir un meilleur programmeur. Cet article explique comment résoudre l'erreur de syntaxe C++ « expression primaire attendue avant le jeton ',' » et fournit quelques exemples de code pour les appels de fonction et les opérandes.

J'espère que cet article vous aidera à résoudre ce problème. 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