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;
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;
#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; }
Résumé :
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!