[swift-users] Protocol Arrays Adding vs. Instantiating
Paul Ossenbruggen
possen at gmail.com
Mon Jul 25 15:02:51 CDT 2016
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()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160725/0c5aff58/attachment.html>
More information about the swift-users
mailing list