关注Apple的书"The Swift Programming Language"
我在处理“实验 - 编写一个计算其参数平均值的函数”时遇到了一个问题。从第一章开始。
为了确定一组数字的平均值,我想重用我的数字之和[setOf(numbers:Int ...)]函数并除以数字的数量[numbers.count]。我收到错误:
Could not find an overload for '__conversions' that accepts the supplied arguments
当我尝试从我的sumOf(numbers)
函数中调用averageOf(numbers)
时。
如果我的sumOf(numbers)
功能正确调用averageOf(numbers)
功能,我应该更改哪些内容?
func sumOf(numbers: Int...) -> Int {
var sum = 0 //0
for number in numbers {
sum += number
}
return sum //651
}
sumOf(42, 597, 12) //651
func averageOf(numbers: Int...) -> Int {
var sum = sumOf(numbers) //Issue in this line
return sum / numbers.count
}
averageOf(42, 597, 12)
将上面的代码粘贴到新的Xcode 6游乐场中以重新创建。
Error Screenshot(在发布图片之前我需要10个声望点。)
答案 0 :(得分:0)
您正在传递函数所需的其他类型。显然Int...
与Int[]
不同。
您可以创建一个接受Int[]
的覆盖并返回总和。