C++ エラー: 関数のパラメーターの数が一致しません。どのように変更すればよいですか?

王林
リリース: 2023-08-22 11:13:04
オリジナル
1914 人が閲覧しました

C++ エラー: 関数のパラメーターの数が一致しません。どのように変更すればよいですか?

C エラー: 関数のパラメーターの数が一致しません。どのように変更すればよいですか?

C でプログラミングしているときに、エラー メッセージが表示されることがあります。最も一般的なエラーの 1 つは、「関数のパラメーターの数が一致しません」です。このエラー メッセージは非常に明確です。つまり、関数呼び出し中に、関数に渡されるパラメーターの数が、関数定義で指定されたパラメーターの数と一致しないため、コンパイラーがプログラム ロジックを正しく識別できなくなり、その結果、エラー中。

このエラー メッセージには、関数の定義と宣言が一致していない、関数の実際のパラメーターの数が間違っているなど、さまざまな理由が考えられます。ただし、エラーの原因が何であれ、簡単な修正で問題を解決できます。次に、「関数パラメータの数が一致しません」エラーを解決する方法について説明します。

  1. 関数の定義が宣言と一致しません

C では、関数の宣言と定義は非常に重要な要素です。関数の宣言は、コンパイラに関数の名前、戻り値の型、パラメータ リスト、およびその他の情報を伝えるために使用されます。一方、関数の定義は、関数を実装する特定のコードです。実際のプログラミングプロセスでは、通常、ヘッダファイルに関数の宣言を配置し、ソースファイルに関数の定義を配置します。ただし、ヘッダファイルで関数を宣言し、ソースファイルで関数を定義したときのパラメータの数が一致しない場合、「関数のパラメータの数が一致しません」というエラーが発生します。

たとえば、ヘッダー ファイル myfunction.h で関数を宣言します。

int myFunction(int a, int b, int c);
ログイン後にコピー

次に、ソース ファイル myfunction.cpp で関数を定義するとき、定義されるパラメーターは 2 つだけです。

int myFunction(int a, int b)
{
    return a + b;
}
ログイン後にコピー

この場合、コンパイラは「関数のパラメータの数が一致しません」というエラー レポートを生成します。この問題を解決するには、関数の定義が宣言と一致するかどうかを確認するだけです。定義内のパラメータを入力するだけです:

int myFunction(int a, int b, int c)
{
    return a + b + c;
}
ログイン後にコピー
  1. 関数パラメータの実際の数が正しくありません

「関数パラメータの数が一致しません」を引き起こすもう 1 つの一般的なエラーその理由は、関数呼び出し中に、関数に渡される実際の引数の数が正しくないためです。たとえば、myFunction() 関数を呼び出すときは、次の 2 つのパラメータのみを渡します。

int result = myFunction(1, 2);
ログイン後にコピー

ただし、myFunction() の定義では、3 つのパラメータが必要です。これにより、コンパイラは実際のパラメータが十分に渡されていないと判断し、「関数パラメータの数が一致しません」エラーが発生します。

この問題を解決するには、関数を呼び出すときに必要なパラメーターを関数に渡すだけです。渡されたパラメータの数を入力するだけです:

int result = myFunction(1, 2, 3);
ログイン後にコピー

概要:

C プログラミングでは、「関数のパラメータの数が一致しません」というエラーが発生することがよくあります。この問題の解決策は、関数の宣言が定義と一致していること、または関数に渡される引数の実際の数が正しいことを確認するだけです。この記事が読者の皆様の「関数パラメータの数の不一致」というエラー問題の理解と解決に役立つことを願っています。

以上がC++ エラー: 関数のパラメーターの数が一致しません。どのように変更すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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