在Kotlin中使用默认参数调用重载函数

时间:2018-10-12 06:06:12

标签: oop kotlin default-value overloading calling-convention

嗨,我对函数重载时使用默认参数调用函数的概念感到困惑。 我的用例是- 我有两个具有相同名称的函数(函数重载),并且添加了几个默认参数,因此尚不清楚将调用哪个函数。 例子-

fun add(a:Int, b:Int=2, c:Int=2):Int
{
    return a+b+c
}


fun add(a:Int, b:Int=1):Int
{
    return a+b
}

现在我正在打电话

add(5)
add(5,2)

应调用哪个方法。

如果我检查

fun foo(p1:Int,p2:String?=null)

fun foo(p1:Int,p2:Int = 0)

这将导致 “过载解析度模糊”错误。

但就我而言,每次fun add(a:Int, b:Int=1):Int { return a+b }

被调用。 那怎么办?

0 个答案:

没有答案