struct Degoo:Equatable {
var lex:String
var pex:String
static func == (left:Degoo, right:Degoo) ->Bool{
return true
}
}
func == (left:Degoo, right:Degoo) ->Bool{
return false
}
let s1 = Degoo.init(lex: "aaa", pex: "bbbb")
let s2 = Degoo.init(lex: "aaa", pex: "bbbb")
print(s1 == s2)
报错信息:Ambiguous use of operator '=='
结论1、函数签名完全相同;编译器不知道使用哪个;
结论2: 在只提供Equatable缺省实现的情况下,会优先使用全局的实现函数。