gpt4 book ai didi

swift 3 : Convert Array to Array extension

转载 作者:搜寻专家 更新时间:2023-11-01 06:15:38 25 4
gpt4 key购买 nike

extension Array where Element : Double {
public var asArrayOfFloat: [Float] {
return self.map { return Float(other:$0) } // compiler error
}
}

我收到一个编译器错误,提示 Float(other:$0) “Argument labels '(other:)' do not match any available overloads.”但是,$0 是一个 Double,并且有一个 Float.init(other:Double) 初始化器。有什么问题?

编辑:更改为 Float($0) 会产生不同的编译错误:“对‘init’的使用不明确”,并且有 16 个候选项。

编辑:Float.init(other:Double) 最初由编译器建议,快照:enter image description here

最佳答案

问题出在where Element : Double ...这需要重写为where Element == Double(注意使用== 而不是 :) 因为 Double 不是协议(protocol)而是类型。现在可以按照建议使用 Float($0) 进行编译。

关于 swift 3 : Convert Array<Double> to Array<Float> extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703436/

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