函数的重载与带默认参数,占位参数的函数

以下三个函数属于重载函数。

重载函数要求:(满足一个就算)

1.参数类型不同

2.参数位置不同

3.参数个数不同

注意:不以返回值类型作为判断重载函数的标准

 

如果这个时候调用add(1,2);

编译时是不会通过的。

编译器对函数的编译有三个过程

1.找到所有匹配的函数名

2.进行参数的精确匹配,通过默认参数匹配或者默认类型转换

3.如果没有符合要求的参数,无论是参数个数或者是参数的类型,匹配失败,没有这个函数

如果匹配到多个相同的符合条件的函数,则出现二义性,编译不通过。

 

正因如此,上面的函数放在一起编译时通过不了的,

如果只保留含默认参数的函数,以及有占位参数的函数------可以

如果只保留一般函数,以及有占位参数的函数----------可以

如果只保留一般函数,以及有默认参数的函数----------不可以

因此一般函数是不能与有默认参数的函数一起使用的,编译器会报错,存在二义性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值