尝试在Swift中使用'min()'函数时出现编译错误
我正在尝试为Swift尝试在Swift中使用'min()'函数时出现编译错误,swift,Swift,我正在尝试为SwiftInt类型编写一个扩展,以保存嵌套的min()/max()函数。看起来是这样的: extension Int { func bound(minVal: Int, maxVal: Int) -> Int { let highBounded = min(self, maxVal) return max(minVal, highBounded) } } 但是,在分配/计算HIGHBOUND时,我有一个编译错误: IntExt
Int
类型编写一个扩展,以保存嵌套的min()/max()
函数。看起来是这样的:
extension Int {
func bound(minVal: Int, maxVal: Int) -> Int {
let highBounded = min(self, maxVal)
return max(minVal, highBounded)
}
}
但是,在分配/计算HIGHBOUND时,我有一个编译错误:
IntExtensions.swift:13:25:'Int'没有名为'min'的成员。
为什么标准库定义的函数没有正确定位
由于您正在扩展Int,它似乎正在尝试在Int中为min()和max()找到一个方法。您可以绕过这个问题,通过指定Swift名称空间来使用默认的min和max函数
extension Int {
func bound(minVal: Int, maxVal: Int) -> Int {
let highBounded = Swift.min(self, maxVal)
return Swift.max(minVal, highBounded)
}
}