
c++中两个函数函数名相同,参数类型和参数个数也相同,但是函数类型不同,那它们是重载函数吗?
1个回答
展开全部
这样不是重载。
函数重载要求函数的参数个数不同或者参数类型不同。
因为调用函数的时候无法确认函数的返回类型,所以仅返回类型不同的函数都可以匹配,这样就造成二义性,所以仅仅是返回类型不同是不能重载的,
比如有
int f(int a)
{
return a+2;
}
float f(int a)
{
return a/3.0;
}
int main()
{
f(6); //该调用哪个呢?
}
函数重载要求函数的参数个数不同或者参数类型不同。
因为调用函数的时候无法确认函数的返回类型,所以仅返回类型不同的函数都可以匹配,这样就造成二义性,所以仅仅是返回类型不同是不能重载的,
比如有
int f(int a)
{
return a+2;
}
float f(int a)
{
return a/3.0;
}
int main()
{
f(6); //该调用哪个呢?
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |