的 返回值 不是 " 函数重载 " 的 判断标准 ;
二义性 : 如果 函数重载 与 默认参数 结合使用 , 出现了二义性 , 编译直接失败 ;
一、函数重载
1、重载函数调用分析
重载函数 调用查询...分析 : 调用一个重载函数 , 如何从多个重载函数中找出自己要调用的函数 , 流程如下 :
首先 , 选出同名函数 , 根据 函数名 将 符合 调用函数 函数名 的 函数 挑选出来 , 作为 候选函数...;
然后 , 尝试从候选函数中查找目标函数 , 精确匹配 传入的实参 与 重载函数的参数列表 ;
第一步 , 先通过默认参数 , 查看是否能将 实参 与 形参 精确匹配上 , 如果匹配失败 , 继续执行第二步..., 最后一个参数是默认参数 ;
注意 : 该 函数 1 调用时 , 可以使用 fun(1, 2) 调用 , 也可以使用 fun(1, 2, 3) 调用 ;
// 函数 1 : 接收 3 个整数参数 ,..., 而不调用他们 , 编译是不会报错的 ;
3、代码示例 - 没有二义性的函数调用
如果只是调用 fun(1, 2, 3) , 也是可以执行成功的 ;
因为可以唯一定位 函数 1 void fun(