我刚刚开始学习 swift,但这对我来说毫无意义。这段代码:
func myFlipper(f: Int -> Bool, num:Int) {
return !f(num)
}
导致编译器错误“Cannot invoke '!'带有 'Bool' 类型的参数”。
来自 Apple 的 swift 文档“逻辑 NOT 运算符 (!a) 反转 bool 值,使 true 变为 false,false 变为 true。” link
有人知道这是怎么回事吗?
最佳答案
此函数具有 void 类型,您将返回 Bool。如果你想返回 Bool 写成,
func myFlipper(f: Int -> Bool, num:Int) -> Bool{
return !f(num)
}
否则不要返回任何东西,它也不会给出任何警告。
关于ios - 为什么反转函数参数的 bool 结果会在 Swift 中产生编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024816/