一元算子' ++'

时间:2016-01-12 17:06:35

标签: swift operator-keyword

我感兴趣并从Swift开始,但我无法解决这个问题:

func countvalue(tableau : [String]){
    var b : Int = 0

    for var b in tableau {
       b++ // Unary operator '++' cannot be applied to an operand of type @lvalue String'
    }

    print("Il y a \(b) valeurs dans ce tableau.")
}

2 个答案:

答案 0 :(得分:2)

循环中的b是一个与循环外的变量不同的变量,并且正在屏蔽它。由于tableauString s的数组,因此循环中的bString,因此无法递增。

答案 1 :(得分:2)

我想你想要的是......

func countvalue(tableau : [String]){
    var b : Int = 0

    for _ in tableau {
       // the values in the array are not used so just ignore them with _
       b++ // Unary operator '++' cannot be applied to an operand of type @lvalue String'
    }

    print("Il y a \(b) valeurs dans ce tableau.")
}

但如果你这样做,b的价值就会相同......

var b = tableau.count

除非它更有效,因为它不必迭代数组的每个值。