关于重载二义性

609人阅读 评论(0) 收藏 举报
分类:

C++编译器只根据函数参数表,也就是参数类型和个数进行重载版本的调用匹配,函数返回值不顶用

另外,函数默认参数时会产生二义性,代码必须这样调用才是对的。


#include <iostream>
using namespace std;

int max(int a,int b)
{
	return a<b?b:a;
}

int max(int a,int b,int c=0)
{
	cout<<"c == "<<c<<endl;
	return a<b?b:a;
}

int main()
{
	max(5,3,1);
	return 0;
}

否则就会有如下编译错误|:



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:778631次
    • 积分:12713
    • 等级:
    • 排名:第1125名
    • 原创:398篇
    • 转载:386篇
    • 译文:6篇
    • 评论:225条
    博客专栏
    友情链接
    文章分类
    最新评论