我认为var值:T = nil导致下面的错误,因为XCode不能将nil值转换为通用类型T.
class Node<T> { var value: T = nil var next: Node init(value: T) { self.value = value self.next = Node() } init() { self.next = Node() } }
错误消息读取
Could not find an overload for ‘_coversion’ that accepts the supplied
arguments
有没有办法为Swift中的变量分配nil值?
您需要将变量声明为可选项:
var value: T? = nil
error: unimplemented IR generation feature non-fixed class layout
您可以通过使用NSObject的类型约束声明T来解决它:
class Node<T:NSObject> { var value: T? = nil var next: Node init(value: T) { self.value = value self.next = Node() } init() { self.next = Node() } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。