嗨,我对函数重载时使用默认参数调用函数的概念感到困惑。 我的用例是- 我有两个具有相同名称的函数(函数重载),并且添加了几个默认参数,因此尚不清楚将调用哪个函数。 例子-
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
}
被调用。 那怎么办?