如果出现这个报错,是因为swift 3.0已经不再支持var的变量了,在swift2版本上,会有警告的提示,但是如果在3.0上,则直接会报错。
在使用上看来,var会和inout存在歧义,所以var的取消,也是迟早的事。
下面可以进行对比。
var申明的变量,在值改变后,直接调用,其实输出值是不变的。具体看下面代码
func change(var x:Int){
let y=2
x=3*y
}
var param=1
change(param)
print(param)
这个值得输出为1.也就是,调用函数没有起到变化。
但是如果同样的代码,使用inout,输出值则会产生变化,
func change(inout x:Int){
let y=2
x=3*y
}
var param=1
change(¶m)
print(param)
上面的输出值则会为6,所以var的取消。其实也理所当然了