class Node<T> { var key: T? weak var next: Node<T>? weak var prevIoUs: Node<T>? init(key: T,prevIoUs: Node? = nil) { self.key = key self.prevIoUs = prevIoUs }}class Dequeue<T> { private var count: Int = 0 private weak var top: Node<T>? private weak var bottom: Node<T>? func enqueue<T>(val: T) { // if dequeue is empty let node = Node<T>(key: val) if top == nil { self.top = node self.bottom = node } else { self.bottom?.next = node self.bottom = node } }}解决方法 删除通用< T>来自方法声明.
class Dequeue<T> { ... func enqueue(val: T) { ... } }
< T>在类声明中适用于整个类,包括方法体.明确的< T>在方法体上引入了一个新的泛型类型T,它隐藏了类的T类型;由于它独立于全局T,因此编译器无法确保它们是兼容的.
总结以上是内存溢出为你收集整理的swift – 无法将Node类型的值分配给Node?全部内容,希望文章能够帮你解决swift – 无法将Node类型的值分配给Node?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)