In swift 3.0 beta 3, I defined a fairly simple protocol and two structs
that implement it, if I initialize the array when creating the objects, it
works, but if I try to add elements I get an error:

Cannot convert value of type '[H]' to expected argument type 'inout _'

Shouldn't this work?

protocol H {

    var v : Int { get set }

    func hello()

}


struct J : H {

    var v : Int

    func hello() {

        print("j")

    }

}


struct K : H {

    var v : Int

    func hello() {

        print("k")

    }

}


let ag:[H] =  [K(v:3), J(v:4)]

ag[0].hello()

ag[1].hello() //works


var af:[H] =  []

af += [K(v:3)] // does not work

af += [J(v:4)]

af[0].hello()

af[1].hello()
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to