为什么函数重载时仅仅返回值不同是不允许的?

 我来答
的月起7t7
2018-02-01 · TA获得超过640个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:245万
展开全部
假设你有两个返回值不同的函数,比如
int getvalue(viod) {return value1;}
float getvalue(viod) {return value;}
那么当你去调用他们的时候,由于你调用的时候
写的是
getvalue();
于是你的编译器就无法知道 你调用的是上面哪个 函数(因为两个函数都不用传参数,编译器无法区分它们), 所以就会报错。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
如果你写成这样 (函数重载)
int getvalue(int i, int j) {return value1;}..................1
float getvalue(viod) {return value;}......................2
那么当你当你调用
getvalue()编译器就会知道 你调用的是第2个函数
getvalue(2, 3) 编译器就会知道 你调用的是第1个函数
就不会出错了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式