结构不能有引用自身的存储属性

Lau*_*ent 6 swift

我不明白为什么我被迫使用 aclass而不是 astruct

这有效,但我必须使用构造函数:

class Token {
    var i: Int
    var prev: Token?
    var next: Token?
    init(i: Int) {
        self.i = i
    }
}
Run Code Online (Sandbox Code Playgroud)

这并不能给出下面烦人的信息。

struct Token {
    var i: Int
    var prev: Token?
    var next: Token?
}
Run Code Online (Sandbox Code Playgroud)

错误:值类型“令牌”不能具有引用自身的存储属性

Swift 有什么理由struct区别对待 a吗?