C++里的函数重载应该只是参数不同对吧。那么不同类型的等号重载返回值不是不一样吗?

C++里的函数重载应该只是参数不同对吧。那么不同类型的等号重载返回值不是不一样吗?

c++

4个回答

可以一样,可以不一样。但是参数相同,返回值不同的两个函数不构成重载。

ssky1992
Love_Jua 回复hzuzhangkaitian: 返回值不同不会报错呀。遇到赋值语句的时候,编译器会判断等号右边的类型,然后调用合适的重载函数。返回值不同也可以。
大约 4 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复hzuzhangkaitian: 不同的重载,返回值可以不同,甚至可以有的有返回值,有的是void
大约 4 年之前 回复
hzuzhangkaitian
安卓小菜鸡 可是如果返回值不同,不是会报错吗?菜鸟不太懂~~
大约 4 年之前 回复

返回值可以不同的,只要不是完全相同的作用域,参数类型,函数签名等等
如果是虚函数重载,参数类型个数,函数签名等等完全相同的函数
那么返回值要么相同,要么是有继承派生关系的类的指针(引用)
如果是同一作用区域
参数类型个数,函数签名等等完全相同的函数只能有一份,返回值类型自然就不能有多少种类了

c++中的函数重载指的是在同一作用域中,相同函数名,函数参数个数或者类型不同,跟返回值无关...

还有想要得到准确的答案,前提是对问题的清晰的阐述,最好附加代码....

函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问