ホームページ  >  記事  >  バックエンド開発  >  C++ 構文エラーを解決する方法: 「';' トークンの前に主式が必要です」

C++ 構文エラーを解決する方法: 「';' トークンの前に主式が必要です」

WBOY
WBOYオリジナル
2023-08-25 21:34:4220138ブラウズ

如何解决C++语法错误:\'expected primary-expression before \';\' token\'?

C の構文エラーを解決する方法: ';' トークンの前に主式が必要です'

C コードを学習して作成するとき、さまざまな構文の間違いに遭遇することがよくあります。よくあるエラーの 1 つは、「';' トークンの前に主式が必要です」です。このエラーは、ステートメントの終了にセミコロンが使用されているが、ステートメントの構造が正しくない場合によく発生します。この記事では、このエラーの原因と解決策を詳しく説明します。

このエラーには通常、変数が正しく定義されていない、または間違った構文構造が使用されているという 2 つの理由が考えられます。以下では、これら 2 つの状況をそれぞれ説明し、対応する解決策を提供します。

状況 1: 正しく定義されていない変数

C コードで正しく定義されていない変数を参照すると、コンパイラは「';' トークンの前に主式が必要です」というエラーを報告します。これは通常、次の状況で発生します。

  1. 変数の型の不適切な宣言: C では、変数を使用する前にその型を宣言する必要があります。使用する前に変数の型を定義するのを忘れると、コンパイル エラーが発生します。例:
x = 5;

上記のコードでは、変数 x の型が定義されていないため、コンパイラはエラーを報告します。

解決策: 変数の型を正しく宣言します。例:

int x = 5;
  1. 変数名のスペル エラー: コード内で宣言されていない変数名 (スペル ミス) を使用すると、コンパイラは変数を認識できません。

解決策: コード内の変数名のスペルが正しいかどうかを確認し、エラーを修正します。

int num = 10;
cout << nums << endl; // 正确的变量名是num,不是nums
  1. 変数のスコープの問題: 参照する変数がそのスコープを超えると、コンパイラーはエラーを報告します。例:
void func() {
    int x = 5;
}

int main() {
    cout << x << endl; // x在函数func的作用域内,无法在main函数中引用
    return 0;
}

解決策: 変数宣言を適切なスコープに配置します。

ケース 2: 間違った文法構造を使用する

C コードで間違った文法構造を使用すると、コンパイラは「expected Primary-expression before ';' token 」というエラーを報告します。これは通常、次の状況で発生します。

  1. 間違った式: if、for、while およびその他のステートメントで間違った式を使用すると、コンパイラはエラーを報告します。

解決策: コード内の式が正しいかどうかを確認し、エラーを修正します。

  1. 不正なメンバー アクセス: ドット演算子を使用して未定義のオブジェクトにアクセスするか、アクセサー '->' を使用して非ポインター変数にアクセスすると、コンパイラはエラーを報告します。

解決策: コード内のメンバー アクセス操作が正しいかどうかを確認し、エラーを修正します。

これは、C 構文エラー「';' トークンの前に主式が必要です」を解決する方法を示す簡単なコード例です:

#include <iostream>
using namespace std;

int main() {
    int num = 10;
    cout << num << endl;

    return 0;
}

上記のコードでは、変数を宣言しました。正しくは num の型であり、変数を使用する前に初期化されます。したがって、コンパイラはエラーを発行しません。

概要:

C コードを作成するとき、さまざまな構文エラーに遭遇することがよくあります。 「';' トークンの前にプライマリ式が必要です」エラーが発生した場合は、コードを注意深くチェックしてエラーの原因を見つけて解決する必要があります。この記事では、読者がこのエラーを解決できるように、2 つの一般的なエラー条件と対応する解決策を説明します。同時に、コーディング時に適切なコーディング スタイルと仕様を維持することをお勧めします。これにより、文法エラーの発生を効果的に減らすことができます。

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

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