为什么不能根据返回类型的不同来区分重载
2018-09-28 本文已影响0人
bfx1000
依赖上下文。也就是不能脱离上下文的前提下判断。
同名方法、相同参数、返回值不同,如果只有这些条件,让编译器调用哪一个函数?如果将每个方法的结果都计算出来,再根据结果类型判断函数,又很浪费资源。
例子:
如下的重载,调用哪个方法?
class{
double sqrt(double do){return...}
float sqrt(double do){return...}
}