Oop 为什么可以';I是否按返回类型重载函数?
为什么不能函数不被其返回类型重载,不应该有支持这种重载的语言。我想知道如果它允许的话会发生什么,或者为什么它不允许通过返回类型重载函数Oop 为什么可以';I是否按返回类型重载函数?,oop,overloading,Oop,Overloading,为什么不能函数不被其返回类型重载,不应该有支持这种重载的语言。我想知道如果它允许的话会发生什么,或者为什么它不允许通过返回类型重载函数 int func(); bool func(); int main() { int iret = func(); bool bret = func(); } 我总是想起这个问题。希望得到满意的答案。像这样的函数 double function fn1() { int a = 2; return a; } 在上面的例子中,a在返回时将隐
int func();
bool func();
int main()
{
int iret = func();
bool bret = func();
}
我总是想起这个问题。希望得到满意的答案。像这样的函数
double function fn1()
{
int a = 2;
return a;
}
在上面的例子中,a在返回时将隐式转换为double
int function fn1()
{
double a = 2;
return a;
}
在上述情况下,例如a在返回时将隐式转换为int
int function fn1()
{
double a = 2;
return a;
}
此fn的fn调用类似于inta=fn1()代码>或双a=fn1()代码>
在任何一种情况下,这两种定义都可能导致调用哪种定义的歧义。
返回值存储在int
或double
中,这一事实在确定要调用的fn时没有什么区别。首先解析并执行函数,然后分配返回值
如果两者都没有返回类型,则调用将只是fn1()
使其不明确,是使用返回类型int
调用fn1()
还是double