这是我的代码:
var myTuple = ("bar", 42)
func foo(_ bar: inout (arg1: String, arg2: Double)) {
[...]
}
foo(&myTuple)
此行出现以下错误:
foo(&myTuple)
不能将不可变值作为inout参数传递:从'(String,Double)'到'((arg1:String,arg2:Double)'的隐式转换需要临时
答案 0 :(得分:3)
实际问题是您的元组变量是函数中存在的缺少标签。将其替换为以下内容:
var myTuple = (arg1: "bar", arg2: 42)
问题是
(String, Int)
需要隐式转换才能与(arg1: String, arg2: Int)
匹配 - 通过执行隐式强制,编译器会以临时rvalue结束,然后无法传递给它。这就是错误(有点令人困惑)谈论不可变值的原因。
答案 1 :(得分:0)
您有两种选择
首先:喜欢那样
Yii::$app->language='nl';
或者第二:改变方法和使用
var account3 = (name: "state bank personal", balance: 1000.00)
使用:account.0和account.1