如何在kotlin中解决这个问题,我想在var fn分配sum函数,但它给出了错误。
重载解析歧义。所有这些函数都匹配
fun main(args:Array<String>) {
println(sum(2.0,3.0))
println(power(2.0,3.0))
var fn=::sum
}
fun sum(a:Double, b:Double):Double{
return a+b
}
fun power(a:Double, b:Double):Double{
return a.pow(b)
}
上面的代码没有问题-它可以正确编译。如果您的代码中有更多的sum()
函数,例如用于求和整数或其他数字类型,那么您可以通过向编译器提供期望的类型来选择它们:
var fn: (Double, Double) -> Double = ::sum