Maison > développement back-end > C++ > le corps du texte

Résolution de l'erreur du compilateur C++ : attendu ';' avant le jeton '}'

PHPz
Libérer: 2023-08-25 21:01:47
original
10122 Les gens l'ont consulté

解决C++编译器错误:expected ';' before '}' token

Résoudre les erreurs du compilateur C++ : attendu ';' avant le jeton '}'

Lors du développement à l'aide du langage de programmation C++, vous rencontrez souvent diverses erreurs de compilateur. L'une des erreurs courantes est "attendu ';' avant le jeton '}'". Cette erreur se produit généralement à la fin d’une fonction ou d’une instruction conditionnelle, ce qui signifie que le compilateur s’attendait à y voir un point-virgule, mais a en fait obtenu une accolade fermante.

Cette erreur est souvent causée par une écriture de code irrégulière ou une mauvaise correspondance des parenthèses. Certaines situations courantes et solutions correspondantes seront données ci-dessous pour vous aider à mieux résoudre cette erreur du compilateur.

  1. Point-virgule manquant

Lors de l'écriture de code C++, nous devons ajouter un point-virgule à la fin de chaque instruction pour indiquer la fin de l'instruction. Si le point-virgule est manquant, le compilateur affichera une erreur « ; attendu avant le jeton « } ».

Par exemple, le point-virgule de la ligne 6 est manquant dans le code ci-dessous :

#include <iostream>

int main() {
    int a = 1;
    int b = 2;
    
    if (a < b) {
        std::cout << "a小于b" << std::endl;
    } else {
        std::cout << "a大于等于b" << std::endl;
    }  // 此处缺少分号
    
    return 0;
}
Copier après la connexion

La solution est simple, il suffit d'ajouter là où le point-virgule manque :

if (a < b) {
    std::cout << "a小于b" << std::endl;
} else {
    std::cout << "a大于等于b" << std::endl;
};  // 添加分号
Copier après la connexion
  1. Les parenthèses ne correspondent pas correctement

Une autre Une cause courante est que les crochets dans le code ne correspondent pas correctement, ce qui empêche le compilateur d'analyser correctement la syntaxe du code. Dans ce cas, le compilateur affichera une erreur « attendu ';' avant le jeton '}'.

Par exemple, dans le code ci-dessous, l'accolade gauche est manquante dans l'instruction if :

#include <iostream>

int main() {
    int a = 1;
    int b = 2;
    
    if a < b) {
        std::cout << "a小于b" << std::endl;
    } else {
        std::cout << "a大于等于b" << std::endl;
    }
    
    return 0;
}
Copier après la connexion

La solution est d'ajouter l'accolade gauche manquante :

if (a < b) {
    std::cout << "a小于b" << std::endl;
} else {
    std::cout << "a大于等于b" << std::endl;
}
Copier après la connexion
  1. Excès d'accolade droite

Parfois, on se retrouve avec accolades droites redondantes dans notre code Une ou plusieurs accolades fermantes ont été ajoutées, provoquant une erreur du compilateur. Dans ce cas, le compilateur affichera une erreur « attendu ';' avant le jeton '}'.

Par exemple, dans le code ci-dessous, il y a une accolade droite supplémentaire à la ligne 9 :

#include <iostream>

int main() {
    int a = 1;
    int b = 2;
    
    if (a < b) {
        std::cout << "a小于b" << std::endl;
    } else {
        std::cout << "a大于等于b" << std::endl;
    }}  // 多余的右花括号
    
    return 0;
}
Copier après la connexion

La solution est de supprimer l'accolade droite supplémentaire :

if (a < b) {
    std::cout << "a小于b" << std::endl;
} else {
    std::cout << "a大于等于b" << std::endl;
}  // 删除多余的右花括号
Copier après la connexion

Résumé :

Lors de l'écriture de code C++, on rencontre souvent aux erreurs du compilateur, une erreur courante est "attendu ';' avant le jeton '}'". Nous pouvons résoudre ce problème en vérifiant les points-virgules manquants, les parenthèses correspondantes et les accolades droites superflues. J'espère que cet article pourra vous aider à mieux comprendre et résoudre cette erreur du compilateur.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal