代码之家  ›  专栏  ›  技术社区  ›  J. Doe

非标称类型不支持显式初始化

  •  0
  • J. Doe  · 技术社区  · 6 年前

    这个问题已经被问了好几次了,在我的问题下面是与其他问题相关联的问题,并解释了为什么这个问题没有得到很好的解决。

    这是我的密码:

    protocol SomeProtocol {
        init()
    }
    
    protocol Initializable where Self: SomeProtocol {}
    
    protocol ProtocolA {
        associatedtype A: Initializable
    }
    
    extension ProtocolA {
        func a() {
            A()
        }
    }
    

    Non-nominal type 'Self.A' does not support explicit initialization
    

    我不明白为什么不。关联的类型 A SomeProtocol ,其中包含初始值设定项。

    尝试: non-nominal type X does not support explicit initialization Swift 4: Non-nominal type 'T' does not support explicit initialization when converting Objective-c to Swift :整件事 Swift 4: "Non-nominal type 'T' does not support explicit initialization" :我认为编译器并没有真正了解确切类型的能力。

    0 回复  |  直到 6 年前