ホームページ >バックエンド開発 >C++ >C++ コンパイラ エラーの解決: '}' トークンの前に ';' が必要です

C++ コンパイラ エラーの解決: '}' トークンの前に ';' が必要です

PHPz
PHPzオリジナル
2023-08-25 21:01:4710192ブラウズ

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

C コンパイラ エラーの解決策: '}' トークンの前に ';' が必要です

C プログラミング言語を使用して開発する場合、さまざまなコンパイラ ミスに遭遇することがよくあります。よくあるエラーの 1 つは、「トークン '}' の前に ';' が必要です」です。このエラーは通常、関数または条件ステートメントの終わりで発生します。これは、コンパイラーがそこにセミコロンがあることを予期していましたが、実際には閉じ中括弧があったことを意味します。

このエラーは、多くの場合、不規則なコードの記述や括弧の不適切な一致によって発生します。このコンパイラ エラーをより適切に解決するために、いくつかの一般的な状況と対応する解決策を以下に示します。

  1. セミコロンの欠落

C コードを作成する場合、ステートメントの終わりを示すために各ステートメントの末尾にセミコロンを追加する必要があります。セミコロンが欠落している場合、コンパイラは「'}' トークンの前に ';' が必要です」というエラーを表示します。

たとえば、次のコードでは 6 行目のセミコロンが欠落しています:

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

解決策は簡単です。セミコロンが欠落している場所に追加するだけです:

if (a < b) {
    std::cout << "a小于b" << std::endl;
} else {
    std::cout << "a大于等于b" << std::endl;
};  // 添加分号
  1. 括弧が正しく一致しない

もう 1 つの一般的な理由は、コード内の括弧が正しく一致せず、コンパイラーがコード構文を正しく解析できないことです。この場合、コンパイラは「'}' トークンの前に ';' が必要です」というエラーを表示します。

たとえば、次のコードでは、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;
}

解決策は、欠落している左括弧を追加することです:

if (a < b) {
    std::cout << "a小于b" << std::endl;
} else {
    std::cout << "a大于等于b" << std::endl;
}
  1. 過剰な右中括弧
#コード内に 1 つ以上の右中括弧を不必要に追加すると、コンパイラ エラーが発生することがあります。この場合、コンパイラは「'}' トークンの前に ';' が必要です」というエラーを表示します。

たとえば、次のコードでは、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;
}

解決策は、余分な右中括弧を削除することです:

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

概要 :

C コードを作成すると、コンパイラ エラーが頻繁に発生します。一般的なエラーの 1 つは、「トークン '}' の前に ';' が必要です」です。この問題は、セミコロンの欠落、括弧の一致、無関係な右中括弧をチェックすることで修正できます。この記事がこのコンパイラ エラーの理解を深め、解決するのに役立つことを願っています。

以上がC++ コンパイラ エラーの解決: '}' トークンの前に ';' が必要ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。