这个问题在这里已有答案:

即使我没有 associated type ,我也会收到此错误:

协议只能用作通用约束,因为它具有Self或关联类型要求

代码如下 . 我定义了 protocol ,称为 Board ,然后,在另一个 protocol (称为 Rules )中,我创建了一个 Board 类型的参数 . 那是我收到错误的时候 .

我有 no associated type ,所以我不知道编译器在说什么......

protocol Board : Equatable, Hashable  {
    init()

    var width  : Int {get}
    var height : Int {get}

}

protocol Rules {
    init(board: Board)
}

我到底在做什么?