当前位置:  开发笔记 > IOS > 正文

二元运算符'<'不能应用两个T操作数

如何解决《二元运算符'<'不能应用两个T操作数》经验,为你挑选了1个好方法。

我的代码如下,我希望该功能maxNumer不仅仅适用于一种类型:

var numbers3 = [3,9,23,67,34,2,7,0,1]

func maxNumer(array:[T]) -> T {
    var maxNumer = array[0]
    for var i = 0; i < array.count-1; i++ {
        if maxNumer < array[i+1] { //This line gets error as title
            maxNumer = array[i+1]
        }
    }
    return maxNumer
}

我该怎么改变它?



1> dasblinkenli..:

你需要告诉Swift T符合Comparable协议,以便它允许<在类型的对象上使用operator T:

func maxNumer(array:[T]) -> T {
//                ^^^^^^^^^^
    var maxNumer = array[0]
    for var i = 0; i < array.count-1; i++ {
        if maxNumer < array[i+1] { //This line gets error as title
            maxNumer = array[i+1]
        }
    }
    return maxNumer
}

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有