【发布时间】:2013-06-22 09:50:47
【问题描述】:
我有一个重载方法定义如下:
def g(f: () ⇒ Double): Object = null
def g(f: Double ⇒ Double): Object = null
def g(f: (Double, Double) ⇒ Double): Object = null
def h(f: (Double, Double) ⇒ Double): Object = null
虽然h(math.max _) 按预期工作,但调用g(math.max _)
给我错误“重载方法...不能应用于((Int,Int)=> Int)”。看来编译器选择了math.max的Int版本而不是Double版本。
如何以 math.max 作为参数调用我的重载方法g?如果我可以在没有下划线的情况下调用g(math.max),那将是一个额外的好处。
【问题讨论】:
标签: scala types overloading