Heim  >  Artikel  >  Backend-Entwicklung  >  Behebung eines C++-Compilerfehlers: „;“ vor „}“-Token erwartet

Behebung eines C++-Compilerfehlers: „;“ vor „}“-Token erwartet

PHPz
PHPzOriginal
2023-08-25 21:01:4710101Durchsuche

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

Beheben von C++-Compilerfehlern: erwartetes „;“ vor „}“-Token

Bei der Entwicklung mit der Programmiersprache C++ treten häufig verschiedene Compilerfehler auf. Einer der häufigsten Fehler ist „erwartetes ‚;‘ vor ‚}‘-Token“. Dieser Fehler tritt normalerweise am Ende einer Funktion oder Bedingungsanweisung auf, was bedeutet, dass der Compiler erwartet hat, dort ein Semikolon zu sehen, tatsächlich aber eine schließende geschweifte Klammer erhalten hat.

Dieser Fehler wird häufig durch unregelmäßiges Schreiben von Code oder falsches Anpassen von Klammern verursacht. Im Folgenden werden einige häufige Situationen und entsprechende Lösungen aufgeführt, die Ihnen helfen sollen, diesen Compilerfehler besser zu beheben.

  1. Fehlendes Semikolon

Beim Schreiben von C++-Code müssen wir am Ende jeder Anweisung ein Semikolon hinzufügen, um das Ende der Anweisung anzuzeigen. Wenn das Semikolon fehlt, meldet der Compiler den Fehler „erwartetes „;“ vor „}“-Token.

Zum Beispiel fehlt das Semikolon in Zeile 6 im folgenden Code:

#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;
}

Die Lösung ist einfach, fügen Sie einfach an der Stelle hinzu, an der das Semikolon fehlt:

if (a < b) {
    std::cout << "a小于b" << std::endl;
} else {
    std::cout << "a大于等于b" << std::endl;
};  // 添加分号
  1. Die Klammern stimmen nicht richtig überein

Andere Eine häufige Ursache liegt darin, dass die Klammern im Code nicht richtig übereinstimmen, was dazu führt, dass der Compiler die Codesyntax nicht korrekt analysiert. In diesem Fall gibt der Compiler den Fehler „erwartetes ‚;‘ vor ‚}‘-Token“ aus.

Zum Beispiel fehlt im folgenden Code die linke Klammer in der if-Anweisung:

#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;
}

Die Lösung besteht darin, die fehlende linke Klammer hinzuzufügen:

if (a < b) {
    std::cout << "a小于b" << std::endl;
} else {
    std::cout << "a大于等于b" << std::endl;
}
  1. Überschüssige rechte geschweifte Klammer

Manchmal kommt es zu Überflüssige rechte Klammern in unserem Code Eine oder mehrere schließende geschweifte Klammern wurden hinzugefügt, was einen Compilerfehler verursachte. In diesem Fall gibt der Compiler den Fehler „erwartetes ‚;‘ vor ‚}‘-Token“ aus.

Zum Beispiel gibt es im folgenden Code eine zusätzliche rechte geschweifte Klammer in Zeile 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;
}

Die Lösung besteht darin, die zusätzliche rechte geschweifte Klammer zu löschen:

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

Zusammenfassung:

Beim Schreiben von C++-Code stoßen wir häufig darauf Ein häufiger Fehler bei Compilerfehlern ist „erwartetes ‚;‘ vor ‚}‘-Token“. Wir können dies beheben, indem wir nach fehlenden Semikolons, passenden Klammern und überflüssigen rechten geschweiften Klammern suchen. Ich hoffe, dieser Artikel kann Ihnen helfen, diesen Compilerfehler besser zu verstehen und zu beheben.

Das obige ist der detaillierte Inhalt vonBehebung eines C++-Compilerfehlers: „;“ vor „}“-Token erwartet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn