C コンパイラ エラーの解決策: '}' トークンの前に ';' が必要です
C プログラミング言語を使用して開発する場合、さまざまなコンパイラ ミスに遭遇することがよくあります。よくあるエラーの 1 つは、「トークン '}' の前に ';' が必要です」です。このエラーは通常、関数または条件ステートメントの終わりで発生します。これは、コンパイラーがそこにセミコロンがあることを予期していましたが、実際には閉じ中括弧があったことを意味します。
このエラーは、多くの場合、不規則なコードの記述や括弧の不適切な一致によって発生します。このコンパイラ エラーをより適切に解決するために、いくつかの一般的な状況と対応する解決策を以下に示します。
C コードを作成する場合、ステートメントの終わりを示すために各ステートメントの末尾にセミコロンを追加する必要があります。セミコロンが欠落している場合、コンパイラは「'}' トークンの前に ';' が必要です」というエラーを表示します。
たとえば、次のコードでは 6 行目のセミコロンが欠落しています:
#includeint 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 つの一般的な理由は、コード内の括弧が正しく一致せず、コンパイラーがコード構文を正しく解析できないことです。この場合、コンパイラは「'}' トークンの前に ';' が必要です」というエラーを表示します。
たとえば、次のコードでは、if ステートメントに左括弧がありません:
#includeint 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; }
#includeint 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++ コンパイラ エラーの解決: '}' トークンの前に ';' が必要ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。