ホームページ > バックエンド開発 > C++ > C++ コードの「エラー: ',' トークンの前に主式が必要です」の問題を解決する

C++ コードの「エラー: ',' トークンの前に主式が必要です」の問題を解決する

WBOY
リリース: 2023-08-27 09:49:52
オリジナル
2703 人が閲覧しました

解决C++代码中出现的“error: expected primary-expression before \',\' token”问题

C コードの「エラー: ',' トークンの前に主式が必要です」問題を解決する

C コードを作成するときに、コンパイル エラーが発生することがあります。よくあるエラーの 1 つは、「エラー: ',' トークンの前に主式が必要です」です。このエラー メッセージは、カンマの前に main 式が必要であるが、それが見つからないことを示しています。この記事では、このエラーの原因と修正方法について説明します。

まず、コード例を見てみましょう:

#include <iostream>

int main() {
    int a, b;
    int sum = a, b;  // 错误出现在这一行
    sum = a + b;

    std::cout << "The sum is: " << sum << std::endl;

    return 0;
}
ログイン後にコピー

この例では、2 つの整変数 a と b を定義し、それらの合計を計算します。ただし、この例では、a と b を式の一部として扱うためにカンマ演算子を誤って使用しました。

カンマ演算子は、C では 2 つの方法で使用できます。 1 つは、int a, b, c; など、複数の変数を宣言して初期化するために使用されます。カンマは複数の変数を区切る役割を果たします。もう 1 つは式用で、複数の式を結合して最後の式の値を返すことができます。

エラー コードでは、int sum = a, b; は、int 型の変数 sum を宣言し、カンマ演算子を使用して a と b を接続するものとして解析されます。カンマ演算子の優先順位が低いため、このコード行の実際の意味は、int 型の変数 sum を宣言し、それを a の値に初期化することであり、カンマは b と関連しません。

この問題を解決するには、このコード行を正しい形式に変更するだけです。つまり、カンマ演算子をプラス演算子に置き換えます。

int sum = a + b;
ログイン後にコピー

変更されたコードは次のとおりです。 :

#include <iostream>

int main() {
    int a, b;
    int sum = a + b;
    // int sum = a, b;  // 修改错误的代码
    // sum = a + b;

    std::cout << "The sum is: " << sum << std::endl;

    return 0;
}
ログイン後にコピー

修正されたコードでは、プラス演算子を使用して a と b を接続し、それらの合計を正しく計算しました。

上記の例に加えて、「エラー: ',' トークンの前にプライマリ式が必要です」というエラーは、関数呼び出しや式の構文エラーなどの他のシナリオでも発生する可能性があります。この種のエラーが発生した場合は、コードを 1 行ずつ注意深くチェックし、カンマ演算子の使用シナリオに注意を払って、カンマ演算子が正しく使用されていることを確認する必要があります。

概要:
C コードを作成するときに、「エラー: ',' トークンの前に主式が必要です」というエラーが発生した場合、これはカンマの前の主式が欠落していることを意味します。このエラーは通常、変数の初期化や式の合成にカンマ演算子を使用するなど、カンマ演算子の誤った使用によって発生します。この問題を解決するには、コード内のカンマ演算子の使用状況をチェックし、それが正しい方法で使用されていることを確認する必要があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート