gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 00:37:07 25 4
gpt4 key购买 nike

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

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

func maxNumer<T>(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
}

我应该如何改变它?

最佳答案

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

func maxNumer<T : Comparable>(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
}

关于swift - 二元运算符 '< ' 不能应用于两个 T 操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34034281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com