gpt4 book ai didi

swift - 错误无法调用类型为 'Box' 的初始值设定项

转载 作者:可可西里 更新时间:2023-11-01 01:40:58 24 4
gpt4 key购买 nike

为什么不允许这样做?

class Box<T>{
let value: T
init(_ value:T){
self.value = value
}

func map<U>( f: T -> U)->Box<U>{
return Box(f(self.value))
}
}

return Box(f(self.value)) 错误:

Error : Cannot invoke initilizer of type 'Box<T>' with an argument list of type '(U)'

最佳答案

您必须为 Box 指定类型您要返回的对象:

class Box<T> {
let value: T
init(_ value:T){
self.value = value
}

func map<U>(f: (T) -> (U)) -> Box<U> {
return Box<U>(f(self.value))
}
}

Box<T> 的上下文中类实现,任何对 Box 的引用假定为 Box<T>除非您明确指定类型(就像我在上面的 Box<U> 语句中对 return 所做的那样)。

关于swift - 错误无法调用类型为 'Box<T>' 的初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800434/

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