6.29 c++ 回顾 【函数】

默认形参重载,注意避免二义性

对于有默认形参的函数重载形式时,需要注意避免二义性:

void fun(int a,int b = 2,int c = 3);

void fun(int a)

这样的两个函数原型,在编译的时候编译器就没法区别成不同的函数重载形式了。我们可以这样理解:对于这两个函数,现在我们要进行如下调用:

fun(1);

那么我们该调用哪一个呢?因为第一个函数的另外两个参数都有默认值,所以fun(1);既可以被当成第一个函数,也可以被当成第二个函数——这就产生了二义性。所以,在定义重载函数的时候,我们应当避免这种情况的发生。

全部评论

相关推荐

真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务