В документации Swift" Tour, в которой вы строите следующую функцию, чтобы усреднить набор чисел:
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
Я могу сделать эту работу, используя что-то вроде следующего:
func averageOf(numbers: Double...) -> Double {
var sum: Double = 0, countOfNumbers: Double = 0
for number in numbers {
sum += number
countOfNumbers++
}
var result: Double = sum / countOfNumbers
return result
}
Мой вопрос в том, почему я должен использовать все как двойное, чтобы заставить его работать? Если я попытаюсь работать с целыми числами, например:
func averageOf(numbers: Int...) -> Double {
var sum = 0, countOfNumbers = 0
for number in numbers {
sum += number
countOfNumbers++
}
var result: Double = sum / countOfNumbers
return result
}
Я получаю следующую ошибку: Could not find an overload for '/' that accepts the supplied arguments