下面的程序编译是老是出现error C2668: 'max' : ambiguous call to overloaded function怎么回事?

#include<iostream>usingnamespacestd;intmax(intnum_1=5,intnum_2=6,intnum_3=7){if(num_1... #include<iostream>
using namespace std;
int max (int num_1=5,int num_2=6,int num_3=7)
{
if (num_1>num_3)
num_3=num_1;
if (num_2>num_3)
num_3=num_2;
return num_3;
}
int max (int num_1,int num_2)
{
if(num_1>num_2)
return num_1;
else
return num_2;
}
int main()
{
int in_num1=3,in_num2=12,in_num3=5;
cout<<"max_3="<<max(in_num1,in_num2,in_num3)<<endl;
cout<<"max_2="<<max(in_num1,in_num2)<<endl;
return 0;

}这个哪里错了??帮看看
展开
 我来答
lgao622
推荐于2016-07-31 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
系统有一个 max() // 三个参数的函数
template<typename _Tp, typename _Compare>
inline const _Tp&
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
{
//return __comp(__a, __b) ? __b : __a;
if (__comp(__a, __b))
return __b;
return __a;
}

int max3 (int num_1=5,int num_2=6,int num_3=7) // 可以换个名字,比如max3
追问
函数重载不是可以重名的吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式