我收到以下错误...
'T' cannot be constructed because it has no accessible initializers
编译时......
class Sub<T : Equitable> {
func def(v : T) -> Bool{
var d = T() // <- Error
return d == v
}
}
var s = Sub<Int>()
println(s.def(0), s.def(1)) // I'm expecting "true, false"
我理解为了初始化泛型类型,它需要符合包含init()
构造函数的协议。比如...
protocol A : Equitable {
init()
}
class Sub<T : A> {
然后我会得到错误
Type 'Int' does not conform to protocol 'A'
在
行 var s = Sub<Int>()
那么我如何才能使Int或Bool这样的值类型符合可以初始化的协议?