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

C++ 構文エラーを解決する方法: 「',' トークンの前に初期化子が必要です」

WBOY
WBOYオリジナル
2023-08-26 21:24:441136ブラウズ

如何解决C++语法错误:\'expected initializer before \',\' token\'?

C 構文エラーを解決する方法: 「',' トークンの前に初期化子が必要です」

C プログラミングではさまざまなエラー メッセージに遭遇することがよくありますが、よくあるエラーの 1 つは「',' トークンの前に初期化子が必要です」です。このエラーは、コード行のどこかでコンパイラが初期化記号を予期していたが、実際にはカンマが存在していたことを示します。このエラーは、変数宣言、関数パラメータの受け渡し、配列の初期化などで発生する可能性があります。この記事では、いくつかの一般的な状況を紹介し、それに対応する解決策を示します。

  1. 変数を宣言するときにカンマが表示されます。
    C では、複数の変数をカンマで区切って 1 行で宣言できます。例:

    int a, b, c;

    このエラーは、変数の宣言時にカンマが表示され、変数が正しく初期化されていない場合に発生します。例:

    int a, b, ;

解決策: カンマの後の内容を対応する初期化値に設定するか、変数を削除します。例:

int a, b = 0;

または:

int a, b;
  1. 関数パラメータを渡すときにカンマが表示されます:
    関数が定義または宣言されるとき、カンマがこのエラーは、パラメータの型が正しく宣言されている場合に発生します。例:

    void foo(int a, , int c) {
     // code
    }

解決策: カンマを削除するか、対応するパラメータ タイプを設定します。例:

void foo(int a, int c) {
    // code
}

または:

void foo(int a, char, int c) {
    // code
}
  1. 配列の初期化中にカンマが表示されます:
    C では、初期化リストを使用して配列を初期化できます。ただし、初期化リストにカンマが含まれており、配列要素が正しく初期化されていない場合、このエラーが発生します。例:

    int arr[] = {1, , 3, 4, 5};

解決策: カンマを削除するか、対応する配列要素の値を設定します。例:

int arr[] = {1, 2, 3, 4, 5};

または:

int arr[] = {1, 0, 3, 4, 5};
  1. その他の状況:
    上記の例の状況に加えて、他の構文エラーが存在する可能性があります。たとえば、すべてのパラメータが正しく渡されずに関数呼び出しでパラメータを渡すと、コンマが発生します。

    foo(1, , 3);

    または、条件ステートメントで構文エラーが発生する可能性があります。

    if (x < , y) {
     // code
    }

解決策 : コードをチェックして各カンマが正しく使用されていることを確認するか、余分なカンマを削除してください。

概要:
C プログラミングで「',' トークンの前に初期化子が必要です」エラーが発生した場合は、まずコードを注意深くチェックして、エラーが発生する場所を見つける必要があります。次に、エラーの特定の状況に応じて、余分なカンマを削除するか、対応する初期化値を設定するなど、適切な解決策を講じます。コンパイラのエラー メッセージを注意深く読み、コードと併せてトラブルシューティングを行うことが重要です。段階的な分析と修正を通じて、最終的にはこのようなエラーを解決し、コードの品質と読みやすさを向上させることができます。

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

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