c++函数给一个形参赋予了默认值,则实参是否可以不写这个参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++函数给一个形参赋予了默认值,则实参是否可以不写这个参数相关的知识,希望对你有一定的参考价值。

如:在.h头文件中
Node(ElemType value,Node * link = 0)
:data(value),next(link)

在.cpp中myTop = new Stack::Node(value);

是的,但是注意一件事情;
假定你有三个函数原型:
Node(ElemType value);
Node(ElemType value,Node * link = 0);
Node(ElemType value,Node * link = 0,int d=0);
myTop = new Stack::Node(value);在函数决议环节就会出问题,三个原型都会适配。编译器将无法判定你想调用哪个函数原型。
参考技术A 是的,但是不谢后果会怎么样,就看你的运气了 参考技术B 我的理解是可以的。

以上是关于c++函数给一个形参赋予了默认值,则实参是否可以不写这个参数的主要内容,如果未能解决你的问题,请参考以下文章

特殊用途语言特性

简单的函数实参形参默认值的定义

求助,VB函数的参数个数未知,要如何传递参数

C++函数默认值与函数重载

c++,类的对象作为形参时一定会调用复制构造函数吗?

python 函数初识