迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

C++ 中错误 Too Many Arguments to Function

作者:迹忆客 最近更新:2023/08/20 浏览次数:

我们在编写一段代码时会遇到很多错误。 解决错误是编程中最关键的部分之一。

本文将讨论我们在 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++ 程序中如何发生此错误以及如何解决该错误。

然而,解决此错误的主要问题是,无论定义或声明函数,参数的数量都应该相同。

上一篇:处理 C++ 中的错误

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

处理 C++ 中的错误

发布时间:2023/08/21 浏览次数:197 分类:C++

本文讨论了 C++ 中的错误和异常处理。C++ 中的错误处理 C++ 程序中可能存在多种类型的错误。 有些错误需要向用户发出提示。

C++ 中错误 Function Returns the Address of a Local Variable

发布时间:2023/08/21 浏览次数:119 分类:C++

根据作用域,C 和 C++ 中的变量分为局部变量和全局变量。 虽然可以从程序的任何部分访问全局变量,但局部变量却不然。让我们讨论一下为什么会出现这个错误以及如何修复它。

C++ 错误 Invalid Conversion of Int* to Int

发布时间:2023/08/21 浏览次数:154 分类:C++

这个简短的教程将讨论错误消息 Invalid conversation of int* to int 。 首先,让我们回顾一下 C++ 中的指针。

C++ 中的错误 Solved: Expression Must Have Class Type

发布时间:2023/08/21 浏览次数:62 分类:C++

让我们看看为什么会发生这种情况以及如何解决。C++ 中错误 Solved: Expression Must Have Class Type 为了更好地理解问题陈述,请查看下面的代码。 在这里,我们有一个名为 Deserts 的类,其中包含函数

C++ 迷宫求解器

发布时间:2023/08/20 浏览次数:150 分类:C++

迷宫求解算法是计算机科学和人工智能中的经典问题。C++ 迷宫求解器 迷宫求解算法旨在通过仅在四个罗盘方向上移动来找到从起点到终点的最短路径。

C++ 的包管理器

发布时间:2023/08/20 浏览次数:93 分类:C++

复杂的软件在其系统中需要大量的依赖项。 像 Python 这样的编译语言有 pip 来管理它们的包,但我们很少听到 C/C++ 的包管理器。本文介绍如何安装和实现 C++ 的包管理器。VC Package (vcpkg) - C++ 的包

C++ 中的取消引用指针

发布时间:2023/08/20 浏览次数:139 分类:C++

本文简要讨论 C++ 中取消引用指针。在进入我们的实际主题之前,我们首先需要了解指针是什么以及为什么 C++ 程序员需要它。

C++ 中 *& 和 **& 的功能和区别

发布时间:2023/08/20 浏览次数:194 分类:C++

本文解释了 C++ 中 *& 和 **& 的区别和功能。 要理解这些符号,需要熟悉C++中指针的概念。C++ 中 *& 和 **& 的功能和区别

C++ 中的空指针

发布时间:2023/08/20 浏览次数:181 分类:C++

本文将讨论 C++ 中 void* 指针的使用。 还提供了示例代码来演示其实现。在 C++ 中实现 void* 指针 我们已经研究过,指针应该与它所指向的数据类型相同,如指针声明中所指定的那样。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便