二元运算符' /'不能应用于两个(Int)操作数

时间:2015-06-30 07:46:57

标签: xcode swift swift-playground

当我将以下代码放在Xcode的Swift游乐场时,我收到Binary operator '/' cannot be applied to two (Int) operands错误。

func sumOf(numbers: Int...) -> Int {
    var sum = 0
    for number in numbers {
        sum += number
    }
    return sum
}
sumOf()
sumOf(42, 597, 12)

以上是计算任何数字总和的函数。 下面是计算数字平均值的函数。该函数从内部调用sumOf()函数。

func avg(numbers: Int...) -> Float {
    var avg:Float = ( sumOf(numbers) ) / ( numbers.count ) //Binary operator '/' cannot be applied to two (Int) operands
    return avg
}

avg(1, 2, 3);

注意:我已经在堆栈交换中找到了答案的所有地方,但问题都与我的不同,因为我的涉及两个Int,相同的类型而不是两个不同的类型。< / em>的

如果有人能帮助我解决我遇到的问题,我希望如此。

2 个答案:

答案 0 :(得分:1)

尽管出现错误消息,但似乎无法转发序列(...)运算符。在sumOf(numbers)函数中单次调用agv()会出现错误cannot invoke sumOf with an argument of type ((Int))

答案 1 :(得分:-3)

错误告诉你该怎么做。如果您参考https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_operators.html

while($oLicence = $cLicences->getAll($rLicences)) {

第二个论点必须是真实的。像这样转换它。我不使用xcode,但我认为我的语法是正确的。

/  Division.
A binary arithmetic operator that divides the number to its left by the number to its right.
Class of operands: integer, real
Class of result: real