无法使用Generic方法参数初始化Generic类型

时间:2018-01-01 16:00:07

标签: swift generics initialization

当我尝试使用以下代码时,我正在摆弄Swift游乐场中的泛型类型:

simple_query()

注意:此代码是假设的,并不意味着在现实世界中做任何事情。

在第12行,我从class Node<T> { let value: T init(_ t: T) { self.value = t } func convert<U>(to type: U.Type) -> Node<U>? { guard let new = value as? U else { return nil } return Node(new) } } 返回新的Node,我收到以下错误消息:

Node.convert(_:)

现在这对我来说似乎很奇怪。理论上,既然我们可以创建任何类型的U' is not convertible to 'T' ,那么我们是否应该能够使用任何泛型类型来初始化它?这是否与类型推断无法推断类型有关?

0 个答案:

没有答案