Guru
11/11/2021, 5:54 PMfun main() {
val callback = { i: Int, j: Int ->
val ii = i.times(j)
val jj = j.times(ii)
ii + jj
}
println(addAndMultiply(5, 6) { i, j ->
i + 1 + j
})
println(addAndMultiply(5, 6, callback))
}
inline fun <T> addAndMultiply(x: T, y: T, call: (T, T) -> T): T where T : Number {
if (x is BigDecimal || x is BigInteger) return call(x, y)
if (y is BigDecimal || y is BigInteger) return call(x, y)
return call(x, y) * x * y
}
I am getting reciever type mismatch at return call(x, y) * x * y
Any Idea ?Luke
11/11/2021, 6:19 PM