C++ の関数エラーに対する引数が多すぎます

Namita Chaudhary 2023年10月12日
  1. C++ の関数
  2. 関数の引数が多すぎます C++ のエラー
  3. C++ での関数の引数が多すぎますエラーを解決する
  4. まとめ
C++ の関数エラーに対する引数が多すぎます

コードを書いているときに、多くのエラーが発生します。 エラーの解決は、プログラミングの最も重要な部分の 1つです。

この記事では、C++ で発生する 1つのエラー、関数の引数が多すぎますについて説明します。

C++ の関数

too many arguments to function は、関数の宣言と実装で異なる引数を指定したときに発生する C++ のエラーです。

このエラーを理解して修正するには、まず関数とは何かについて説明する必要があります。

関数は、再利用可能なコードのブロックであり、反復タスクを実行するために使用されます。 プログラムで "Hello World" を 5 回出力したいとします。

これを行う 1つの方法は、出力するたびに print ステートメントを記述することですが、もう 1つの効率的な方法は、"Hello World" を記述するコードを記述する関数を作成することです。 この関数は、必要なときにいつでも呼び出されます。

"Hello World" を出力する関数は以下で実装されます。

#include <iostream>
using namespace std;
void print();
int main() {
  print();
  print();
  print();
  print();
  return 0;
}
void print() { cout << "Hello World" << endl; }

出力:

Hello World
Hello World
Hello World
Hello World

ただし、main() の後に print() 関数を記述する場合は、print() という名前の関数が存在することをコンパイラが認識できるように、まず main() の前に関数を宣言する必要があります。 プログラムで。

関数の引数が多すぎます C++ のエラー

引数は、関数が呼び出されるときに定義される値です。 関数への引数が多すぎます エラーは、関数内のこれらの引数が原因で発生します。

関数呼び出しとプログラムの関数宣言では、引数の数は同じでなければなりません。 関数宣言と関数呼び出しで引数の数が異なると、このエラーが発生します。

これらの異なる引数の意味を表すコードを見てみましょう。 以下は、関数に引数が多すぎるというエラーをスローするコード スニペットです。

#include <iostream>
using namespace std;

void addition();

int main() {
  addition(4, 5);
  return 0;
}

void addition(int a, int b) {
  cout << "Addition of the numbers " << a << " and " << b << " = " << (a + b)
       << endl;
}

出力:

./6e359960-d9d7-4843-86c0-b9394abfab38.cpp: In function 'int main)':
./6e359960-d9d7-4843-86c0-b9394abfab38.cpp:7:14: error: too many arguments to function 'void addition)'
  addition4,5);
              ^
./6e359960-d9d7-4843-86c0-b9394abfab38.cpp:4:6: note: declared here
 void addition);
      ^

上記のコード スニペットでは、addition() 関数を使用して 2つの数値を加算しています。 3 行目では、関数 addition() を引数なしで宣言しています (引数は関数の括弧内にあります)。

ただし、addition() 関数を作成または定義するとき、これら 2つの数値を加算できるように、2つの引数 ab をそれに渡します。 したがって、この引数の数の不一致は、機能する引数が多すぎる原因となります。

C++ での関数の引数が多すぎますエラーを解決する

C++ の関数への引数が多すぎますエラーは、関数を宣言および定義するときに関数に渡される引数の数を考慮することで解決できます。

上記と同じ例を取り上げて、そのエラーを解決してみましょう。

#include <iostream>
using namespace std;
void addition(int, int);
int main() {
  addition(4, 5);
  return 0;
}
void addition(int a, int b) {
  cout << "Addition of the numbers " << a << " and " << b << " = " << (a + b)
       << endl;
}

出力:

Addition of the numbers 4 and 5 = 9

したがって、ご覧のとおり、エラーは削除され、2つの数値を加算した結果が正常に表示されました。 3 行目の関数の宣言に 2つの int 型を追加しました。

このようにして、addition() 関数に遭遇する前に、コンパイラはプログラム内に引数を取る addition() 関数が存在することを認識します。

まとめ

この記事では、機能する引数が多すぎるについて説明しました。 関数、C++ プログラムでこのエラーがどのように発生するか、およびその解決方法について簡単に説明しました。

ただし、このエラーを解決する際の主なことは、関数が定義または宣言されている場所に同じ数の引数が必要であることです。

関連記事 - C++ Error