Swift错误:二元运算符'>'不能应用于两个T操作数

时间:2015-08-17 02:29:37

标签: swift

我正在为Array编写mutaitin函数。我无法比较下面的数组组件:

extension Array {
    mutating func mutFunc() {
        while self[1]>self[2]{

        }
     }
}

Array必须是Int类型数组。我甚至不能用这种方式进行比较。

while Int(self[1])>Int(self[2]){        
}

我的代码有什么问题?

1 个答案:

答案 0 :(得分:4)

您无法在Swift 1.2或之前执行此操作。这正是Swift 2.0中扩展where子句解决的问题。这样,你可以只扩展数组,只要它的元素类型采用Comparable(甚至是Int),从而保证定义>

extension Array where Element : Comparable {
    // ... your function involving > goes here
}