中易网

C++带默认参数的构造函数和重载的构造函数是否可能会发生调用的歧义?如何解决?

答案:3  悬赏:10  
解决时间 2021-04-22 01:29
RT

比如一个Test类,有一个构造函数Test(),还有一个构造函数Test(int a=0,int b=0),那么执行Test()时候程序会调用哪一个?
最佳答案
如果带默认参数的构造函数去掉默认参数后,与重载的构造函数形式一致

那么就会出现二义性

既然带默认参数的构造函数能够与重载的构造函数出现二义性。说明你重载的构造函数没有意义。
他并不能区分一种构造类型。

也就是说,你直接用带默认参数的构造函数来代替重载的那个构造函数就可以了
全部回答
有歧义。 已经有了Test(int a=0, int b=0)int没必要再定义Test()
要求两个函数的参数表不同(类型或者个数)。进行函数调用时,系统会根据函数名和参数表唯一确定调用哪一个函数。当程序中有模版函数和非模版函数时,优先调用非模版函数,即一般函数。 再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么开通qq飞行岛?
使命召唤5在浩方能玩合作模式吗
患有脑梗塞是否可以喝酒?
为什么找不到贵州省毕节市林口镇大寨村新桃组
其实有时候爱情不如友情?
今年麦迪能恢复多少成?火箭到底能打成什么样?
在广东省汕头市澄海区想开一家福利彩票销售站
matlab中自相关函数的时滞与长度有没有关系
兰州蓝星地址有知道的么?有点事想过去
从25米高的房子跳下来会不会摔死
商务部合法直销牌照有哪些
用反证法证明命题‘’在三角形的内角中,至少
会 cad pro/e在哪里更好找到工作 更有发展前
【孕妇能吹空调吗】孕妇能否吹空调的相关介绍
我住在西湖区竞舟路金成花园,请问什么地方可
推荐资讯
锡盟六中·和锡盟二中哪个好、
我是八县的原来再公司上班有交医保社保现在没
QQ 急`知道的速度进!!
怎么样可以提高自信,
青岛城阳”鬼城”启阳国际
为什么海之勇者后面的小章鱼不见了?
奢爱是什么意思?急
word2003无法启动转换器mswrd632.wpc 该怎么
洗净一元洗衣店怎么去啊,有事要去办理
从黄阁坐地图到珠江花园在哪里下车
正月里面不能剪头发吗
广州美院好不好啊? 中国美院难考吗?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?