gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:45:05 25 4
gpt4 key购买 nike

我正在使用泛型添加不同的类型,如 Int、Double、Float 等。我使用了下面的代码,但收到错误“二元运算符 '+' 无法应用于两个 'T' 操作数”。

func add<T>(num1: T,num2: T) -> T {
return num1 + num2
}

最佳答案

Swift 不知道泛型类型 T 有“+”运算符。您不能在任何类型上使用 +:例如在两个 View Controller 上 + 没有太大意义

您可以使用协议(protocol)一致性来让 swift 了解有关您的类型的一些信息!

我去了 Playground ,这可能就是您正在寻找的:)

protocol Addable {
func +(lhs: Self, rhs: Self) -> Self
}

func add<T: Addable>(num1: T, _ num2: T) -> T {
return num1 + num2
}

extension Int: Addable {}
extension Double: Addable {}
extension Float: Addable {}

add(3, 0.2)

如果您需要解释此处演示的任何概念,请告诉我

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

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