c++中两个函数函数名相同,参数类型和参数个数也相同,但是函数类型不同,那它们是重载函数吗?

如题所述

这样不是重载。

函数重载要求函数的参数个数不同或者参数类型不同。

因为调用函数的时候无法确认函数的返回类型,所以仅返回类型不同的函数都可以匹配,这样就造成二义性,所以仅仅是返回类型不同是不能重载的,

比如有
int f(int a)
{
return a+2;
}
float f(int a)
{
return a/3.0;
}

int main()
{
f(6); //该调用哪个呢?
}
温馨提示:答案为网友推荐,仅供参考
相似回答