gpt4 book ai didi

ios - 在与非泛型父类(super class)同名的泛型类中使用类方法时出错

转载 作者:可可西里 更新时间:2023-11-01 02:27:02 25 4
gpt4 key购买 nike

以下代码导致错误Ambiguous use of 'B' :

public class A {
public class func B<T>(t: T) -> T {
return t
}

}
public class AT<T> : A {
public class func B<T1>(t: T1) -> T1 {
return t
}
}
println(AT<Int>.B("a"))

但是在尝试添加 override 时方法BAT<T> , 得到错误 Method does not override any method from its superclass .

最佳答案

您不能覆盖该函数,因为参数类型不同,因此,一个函数不能充当另一个函数。此外,如果它已经存在,则不能使用相同的方法签名。唯一的解决办法是更改名称,或者使用与父类(super class)相同的参数类型。此外,您不能隐藏父类(super class)中的方法,但如果通过覆盖它来使用它,您可能会抛出异常。

关于ios - 在与非泛型父类(super class)同名的泛型类中使用类方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27298148/

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