Tag: 含糊不清

如何处理泛型函数的重载解析模糊性?

考虑这个类有两个函数,一个是Int参数,另一个是通用的: class C<K, V> { // … operator fun f(index: Int): Pair<K, V> = … operator fun f(key: K): V = … } 当它被参数化为C<Int, SomeType> , K是Int ,并且这两个函数都与调用匹配,导致错误: val m = C<Int, SomeType>() mf(1) 重载分辨率模糊。 所有这些功能匹配: public final fun f(index: Int): SomeType在C定义的public final fun f(index: Int): SomeType public final fun f(key: Int): Pair<Int, SomeType>? 在C定义 […]