我正在尝试学习Swift,并且正在研究一个在Swift 2中工作的旧通用示例
func increment<T: Strideable>(number: T) -> T {
return number + 1
}
现在在Swift 4中抱怨
'+' is unavailable: Please use explicit type conversions or Strideable methods for mixed-type arithmetics
为什么我会收到此错误以及我做错了什么?
答案 0 :(得分:17)
您可以简单地使用+
。
Strideable.advanced(by:)
运算符
func increment<T: Strideable>(number: T) -> T {
return number.advanced(by: 1)
}
increment(number: 2) //returns 3
increment(number: 2.5) //returns 3.5
答案 1 :(得分:0)