您好我将Swift编程语言书中的一些代码放入游乐场,我收到以下错误消息。
('(Int) -> Int' is not convertible to 'Int')
到底是怎么回事?
谢谢你的帮助
func stepForward (input: Int) -> Int {
return input + 1
}
func stepBackward (input: Int) -> Int {
return input - 1
}
func chooseStepFunction (backwards: Bool) -> Int {
return backwards ? stepBackward : stepForward
}
答案 0 :(得分:2)
当chooseStepFunction
期望返回 Int 时,您将返回一个函数。您需要将返回类型从Int
更改为(Int) -> Int
func chooseStepFunction (backwards: Bool) -> (Int) -> Int {
return backwards ? stepBackward : stepForward
}
答案 1 :(得分:0)
当你尝试返回一个函数时,它应该是
func chooseStepFunction(backwards: Bool) -> (Int) -> Int {
return backwards ? stepBackward : stepForward
}
chooseStepFunction
返回一个接受int并返回int的函数。