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プロトコルを確認しますが、 "2進演算子 '+'は 'String'型と 'Int' print(a + i)のオペランドには適用できません。 'String' + 'NSNumber'に適用するとうまく動作します。 シーンの背景に何が起こっているのか分かりません。なぜそれは働いていないのですか?CustomStringConvertibleプロトコルがIntで機能しないのはなぜですか?
感謝を@ originaluser2 – tailor
@Tailorハッピーに役立つ:) – Hamish