C++ 中错误 Too Many Arguments to Function
我们在编写一段代码时会遇到很多错误。 解决错误是编程中最关键的部分之一。
本文将讨论我们在 C++ 中遇到的一个错误:Too Many Arguments to Function。
C++ 中的函数
too many arguments to function 是 C++ 中的一个错误,当我们在函数的声明和实现中指定不同的参数时会遇到这种错误。
要理解这个错误并修复它,我们应该首先讨论什么是函数。
函数是可重用的代码块,用于执行重复任务。 假设我们想在程序中打印“Hello World”五次。
现在,一种方法是每次要打印时都编写 print 语句,而另一种有效的方法是创建一个函数,在其中编写写入“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
但是,如果我们将 print()
函数写在 main()
之后,那么我们需要首先在 main()
之前声明该函数,以便编译器知道程序中存在名为 print()
的函数。
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()函数来将两个数字相加。 在第三行,我们声明了不带参数的函数addition()
(参数出现在函数的括号中)。
然而,当我们创建或定义addition()函数时,我们向它传递了两个参数a和b,以便可以将这两个数字相加。 因此,参数数量的不匹配会导致过多的参数无法正常工作。
解决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
因此,如您所见,错误已被消除,并且我们的两个数字相加的结果已成功显示。 我们刚刚将两个 int 类型添加到第 3 行函数的声明中。
这样,在遇到addition()
函数之前,编译器就知道我们的程序中存在一个addition()
函数,该函数将在其中接受参数。
总结
这篇文章讨论了太多关于函数的争论。 我们已经简要讨论了函数、C++ 程序中如何发生此错误以及如何解决该错误。
然而,解决此错误的主要问题是,无论定义或声明函数,参数的数量都应该相同。
相关文章
Arduino 复位
发布时间:2024/03/13 浏览次数:315 分类:C++
-
可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。
Arduino 的字符转换为整型
发布时间:2024/03/13 浏览次数:181 分类:C++
-
可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。
Arduino 串口打印多个变量
发布时间:2024/03/13 浏览次数:381 分类:C++
-
可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。