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

Comment résoudre l'erreur de syntaxe C++ : « initialiseur attendu avant », jeton » ?

WBOY
WBOYoriginal
2023-08-26 21:24:441081parcourir

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

Comment résoudre l'erreur de syntaxe C++ : « initialiseur attendu avant », « jeton » ?

Nous rencontrons souvent divers messages d'erreur dans la programmation C++, et l'une des erreurs courantes est : "initialiseur attendu avant", "jeton". Cette erreur indique que quelque part dans une ligne de code, le compilateur attendait un symbole d'initialisation, mais qu'une virgule était en réalité présente. Cette erreur peut se produire lors de la déclaration de variable, du passage de paramètres de fonction, de l'initialisation d'un tableau, etc. Cet article présentera quelques situations courantes et proposera les solutions correspondantes.

  1. Une virgule apparaît lors de la déclaration de variables :
    En C++, plusieurs variables peuvent être déclarées sur une seule ligne, séparées par des virgules. Par exemple :

    int a, b, c;

    Cette erreur se produira si une virgule apparaît lors de la déclaration d'une variable et que la variable n'est pas initialisée correctement. Par exemple :

    int a, b, ;

Solution : définissez le contenu après la virgule sur la valeur d'initialisation correspondante ou supprimez la variable. Par exemple :

int a, b = 0;

ou :

int a, b;
  1. Virgule lors du passage des paramètres d'une fonction :
    Lorsqu'une fonction est définie ou déclarée, si une virgule apparaît dans la liste des paramètres sans déclarer correctement le type du paramètre, cette erreur se produira. Par exemple :

    void foo(int a, , int c) {
     // code
    }

Solution : Supprimez la virgule ou définissez le type de paramètre correspondant. Par exemple :

void foo(int a, int c) {
    // code
}

ou :

void foo(int a, char, int c) {
    // code
}
  1. Une virgule apparaît lors de l'initialisation du tableau :
    En C++, vous pouvez utiliser une liste d'initialisation pour initialiser un tableau. Mais si une virgule apparaît dans la liste d'initialisation et que les éléments du tableau ne sont pas initialisés correctement, cette erreur se produira. Par exemple :

    int arr[] = {1, , 3, 4, 5};

Solution : supprimez la virgule ou définissez la valeur de l'élément de tableau correspondant. Par exemple :

int arr[] = {1, 2, 3, 4, 5};

ou :

int arr[] = {1, 0, 3, 4, 5};
  1. Autres cas :
    En plus des cas des exemples ci-dessus, il peut y avoir d'autres cas d'erreurs grammaticales. Par exemple, une virgule apparaît lors du passage de paramètres dans un appel de fonction sans que tous les paramètres soient passés correctement :

    foo(1, , 3);

    Alternativement, l'erreur de syntaxe peut apparaître dans une instruction conditionnelle :

    if (x < , y) {
     // code
    }

Solution : Vérifiez le code pour vous assurer que chaque virgule a l'utilisation correcte, ou supprimez les virgules supplémentaires.

Résumé :
Lorsque vous rencontrez l'erreur « initialiseur attendu avant », « jeton » dans la programmation C++, vous devez d'abord vérifier soigneusement le code pour trouver où l'erreur se produit. Ensuite, en fonction des circonstances spécifiques de l'erreur, prenez les solutions appropriées, qui peuvent consister à supprimer les virgules supplémentaires ou à définir les valeurs d'initialisation correspondantes. Il est crucial de lire attentivement le message d'erreur du compilateur et de le résoudre en conjonction avec le code. Grâce à une analyse et à une correction étape par étape, ces erreurs peuvent éventuellement être résolues et la qualité et la lisibilité du code peuvent être améliorées.

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