我正在将一些算法伪代码转换为Swift并具有以下功能:
func max(a: [Int], b: Int) {
var result = a[0]
var i: Int
for (i = 1; i <= b; i++) {
if (a[i] > result) {
result = a[i]
}
}
return result
}
返回结果时出错:'Int'不能转换为'()'
我在网上搜索过,无法找到这个问题的答案,希望有人能指出我正确的方向。
由于
答案 0 :(得分:2)
函数声明中缺少返回类型:
func max(inout a: [Int], b: Int) -> Int {
^^^^^^
如果没有返回类型,swift默认为空元组()
,这就是错误的含义:int不能转换为空元组。
另请注意,您的return
声明放错了位置:它应该在最后一个结束括号之前
}
return result
}
而不是
return result
}
}
答案 1 :(得分:0)
您必须像这样实现返回类型
func max(inout a: [Int], b: Int)-> Int {
var result = a[0]
var i: Int
for (i = 1; i <= b; i++) {
if (a[i] > result) {
result = a[i]
}
}
return result
}