gpt4 book ai didi

kotlin - Kotlin 中多态函数中的参数定位

转载 作者:行者123 更新时间:2023-12-02 01:10:59 25 4
gpt4 key购买 nike

我是 kotlin 新手,我想要两个带有默认参数的多态函数,但它似乎不起作用。这是我的代码:

private fun add(request: Request, share: Boolean = false, number : Int){
Do something ...
}
private fun add(key: String, share: Boolean = false){
Do something ...
}

我的问题是我无法使用默认值,因为编译器似乎无法推断它。

add(request,  number)

当我这样做时,这意味着我想使用第一个具有 bool 值默认值的函数,我收到一条错误消息,指出它需要一个字符串并且发现了一个请求。

我认为编译器对默认值和多态性感到困惑;它似乎不知道要使用的女巫功能。有什么方法可以解决这个问题,还是我每次都必须显式声明默认值,从而使默认值无用?

最佳答案

将具有默认值的参数移至第一个函数中的第三位,使其变为

private fun add(request: Request, number : Int, share: Boolean = false){
做一点事 ...

它会起作用的。您可以通过命名参数来解决这个问题,例如如果你调用 add(request = request, number = number) 它也会起作用

关于kotlin - Kotlin 中多态函数中的参数定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60335283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com