Maison  >  Article  >  développement back-end  >  Résoudre le problème de « erreur : expression primaire attendue avant le jeton ',' » dans le code C++

Résoudre le problème de « erreur : expression primaire attendue avant le jeton ',' » dans le code C++

WBOY
WBOYoriginal
2023-08-27 09:49:522618parcourir

解决C++代码中出现的“error: expected primary-expression before ',' token”问题

Résolvez le problème « erreur : expression primaire attendue avant le jeton ',' » dans le code C++

Lors de l'écriture de code C++, vous rencontrez parfois des erreurs de compilation. L'une des erreurs courantes est « erreur : expression primaire attendue ». avant ',' jeton". Ce message d'erreur nous indique que nous avons besoin d'une expression principale avant la virgule, mais elle n'est pas trouvée. Cet article explique les causes de cette erreur et comment y remédier.

Tout d'abord, regardons un exemple de code :

#include <iostream>

int main() {
    int a, b;
    int sum = a, b;  // 错误出现在这一行
    sum = a + b;

    std::cout << "The sum is: " << sum << std::endl;

    return 0;
}

Dans cet exemple, nous avons défini deux variables entières a et b et souhaitons calculer leur somme. Cependant, dans cet exemple, nous avons utilisé à tort l’opérateur virgule pour traiter a et b comme faisant partie d’une expression.

L'opérateur virgule peut être utilisé de deux manières en C++. L'un est utilisé pour déclarer et initialiser plusieurs variables, telles que int a, b, c;, où les virgules jouent le rôle de séparation de plusieurs variables. L'autre concerne les expressions, qui peuvent connecter plusieurs expressions entre elles et renvoyer la valeur de la dernière expression. int a, b, c;,在这里逗号起到分隔多个变量的作用。另一种是用于表达式,它可以将多个表达式连接在一起,返回最后一个表达式的值。

在我们的错误代码中,int sum = a, b;

Dans notre code d'erreur, int sum = a, b; est analysé comme déclarant une somme variable de type int et utilisant un opérateur virgule pour connecter a et b. Puisque l'opérateur virgule a une priorité inférieure, la signification réelle de cette ligne de code est de déclarer une somme variable de type int et de l'initialiser à la valeur de a, et la virgule n'a aucune association avec b.

Pour résoudre ce problème, il suffit de modifier cette ligne de code sous la forme correcte, c'est-à-dire de remplacer l'opérateur virgule par l'opérateur plus :

int sum = a + b;

Le code modifié est le suivant :

#include <iostream>

int main() {
    int a, b;
    int sum = a + b;
    // int sum = a, b;  // 修改错误的代码
    // sum = a + b;

    std::cout << "The sum is: " << sum << std::endl;

    return 0;
}

Dans le code modifié , Nous avons utilisé l’opérateur plus pour joindre a et b ensemble, en calculant correctement leur somme.

En plus des exemples ci-dessus, l'erreur « erreur : expression primaire attendue avant le jeton ',' » peut également apparaître dans d'autres scénarios, tels que des appels de fonction ou des erreurs de syntaxe dans les expressions. Lorsque nous rencontrons ce type d'erreur, nous devons vérifier soigneusement le code ligne par ligne et prêter attention aux scénarios d'utilisation de l'opérateur virgule pour nous assurer qu'il est utilisé correctement.


Résumé :

Lors de l'écriture de code C++, lorsque vous rencontrez l'erreur "erreur : expression primaire attendue avant le jeton ','", cela signifie que l'expression primaire est manquante avant la virgule. Cette erreur est généralement provoquée par une utilisation incorrecte de l'opérateur virgule, par exemple l'utilisation de l'opérateur virgule pour l'initialisation d'une variable ou la composition d'une expression. Pour résoudre ce problème, nous devons vérifier l’utilisation de l’opérateur virgule dans le code et nous assurer qu’il est utilisé correctement. 🎜

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