вызов перегруженной функции с аргументами по умолчанию в Kotlin - PullRequest
0 голосов
/ 12 октября 2018

Привет, я запутался в вызове концепции функции с аргументами по умолчанию в случае перегрузки функции.Мой вариант использования - у меня есть две функции с одинаковым именем (перегрузка функции), и я добавил несколько аргументов по умолчанию, поэтому не ясно, какая функция будет вызвана.Пример -

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 }

называется.Так как же?

...