变异运算符的左侧不是可变的:“ visiter”是一个“ let”常量吗?为什么?

问题描述

在我试图从客人的钱中扣除成本的时候,尝试时抛出了错误“变异算子的左端不可变:'visiter'是'let'常数”使用运算符-= 但为什么?我将其声明为变量!我能做什么?在输入函数和bar函数上引发了错误

Axis: Year
Legend: salesmen
Values: year_wise_percentage 

解决方法

请注意,Guest是协议,而不是类型。您首先应该确保在Guest协议中声明money属性以要求使用setter,使方法通用,并向其中添加inout关键字:

protocol Guest {
    var money: Double { get set }
    // your code
}

mutating func entry<T: Guest>(visiter: inout T) {
    // your code
}