方法签名为什么只有 函数名与参数?

一,概述

我们知道无论是在c/c++中,还是在java中,都存在函数重载。函数重载就是在一个类中或者c语言中的一个程序中,存在相同名称而参数不同的函数。

函数重载的区分是函数签名,函数签名是由函数名称和参数列表构成。那为什么返回值没有加入到参数列表中?

二、原因

原因就是调用者在调用函数时,如果调用者不关心返回值,并且不采用变量来接收函数的返回值时,那么两个函数名称相同且参数列表相同, 只有返回值不同的函数在被同时

调用时,无论时人还是编译器都无法确定调用的是哪一函数。

上面的代码如果在集成环境中编写,就会直接报错,是一个编译期错误。

原文地址:https://www.cnblogs.com/cplinux/p/12863475.html