【发布时间】:2021-02-17 03:04:57
【问题描述】:
为什么 Swift 不允许这个泛型函数:
我试图表达一个通用函数,它将采用两种“数字”类型,并比较它们,可以是 Ints、Floats、Double 等...
为什么 Swift 会说 Same-type requirement makes generic parameters 'T' and 'U' equivalent,这是怎么回事?
func isSameNumber <T, U> (lhs: T, rhs: U) where T: Numeric, U:Numeric, T == U {
if lhs == rhs {
print("true")
}
else{
print("false")
}
}
【问题讨论】:
-
如果你在想调用这个函数的地方直接使用
lhs == rhs ? "true" : "false"怎么办。