swift – 迭代数组并更新值.错误:’@lvalue $T5’与’Int’不同
发布时间:2020-12-14 04:35:00 所属栏目:百科 来源:网络整理
导读:我在 Swift中有以下语法: func basicFunction(anArray:[Int],aValue:Int) - Int { for (var i = 0; i5; ++i) { if anArray[i] == 0 { anArray[i] = aValue //I get an error in XCode } } return 1} 我收到以下Xcode错误:’@lvalue $T5’与’Int’不同 我
我在
Swift中有以下语法:
func basicFunction(anArray:[Int],aValue:Int) -> Int { for (var i = 0; i<5; ++i) { if anArray[i] == 0 { anArray[i] = aValue //I get an error in XCode } } return 1 } 我收到以下Xcode错误:’@lvalue $T5’与’Int’不同 我究竟做错了什么? 解决方法
默认情况下,函数参数是不可变的,Swift编译器会提供可怕的错误消息.
无论如何,因为anArray是不可变的,所以你无法修改它.这就是您收到错误消息的原因.声明它inout: func basicFunction(inout anArray:[Int],aValue:Int) -> Int { for (var i = 0; i<5; ++i) { if anArray[i] == 0 { anArray[i] = aValue } } return 1 } 用&在数组参数前面: basicFunction(&someArray,99) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |