更新Xcode版本到9.0后,突然发现对于如下代码会报错,看到错误我一脸懵逼??
var i = 1
var a = i++
很简单的代码,为何有错误??把变量修改成Double、Float其他数值类型也是一样的错误,我试着通过Swift的运算符重载功能,添加如下代码支持++前置:
prefix func ++<T:Numeric>(num: inout T) ->T{
num +=1
return num
}
添加如下代码支持++后置:
postfix func ++<T:Numeric>(num: inout T) ->T{
num +=1
return num-1
}
添加后,不管是Int/Double都可以使用++了,
var d:Double = 2.3
var n:Int = 4
d++ ; ++d
n++; ++n
网友评论