【发布时间】:2018-06-18 23:18:43
【问题描述】:
在 Swift 中考虑以下内容:
struct GenericStruct<T> {}
class A {}
class B: A {}
func doSomething() -> GenericStruct<A> {
return GenericStruct<B>()
}
这给出了错误:
无法将
GenericStruct<B>类型的返回表达式转换为GenericStruct<A>类型的返回表达式
但是B 是A 的子类。
- 为什么 Swift 不能将
GenericStruct<B>转换为GenericStruct<A>? - 在这种情况下应该怎么做?
【问题讨论】:
-
B: A并不暗示Generic<B>: Generic<A>。