【发布时间】:2016-09-02 07:03:15
【问题描述】:
public func +<T: CustomStringConvertible>(lhs: T, rhs: T)->String{
return lhs.description+rhs.description
}
let a:String = "A"
let i:Int = 0
print(a+i)
我正在为 CustomStringConvertible 类型重载“+”运算符。 String 和 Int 都确认了 CustomStringConvertible 协议,但它给出了一个错误:“二元运算符 '+' 不能应用于 'String' 和 'Int' print(a+i) 类型的操作数”。当我将它应用于'String'+'NSNumber'时它工作正常。 不知道幕后发生了什么。为什么它不起作用?
【问题讨论】: