首页 > 解决方案 > 范围限制的“无法推断通用参数 'T'”

问题描述

注意:还有一些关于“无法推断通用参数'T'”的其他问题 - 例如,无法推断这个通用参数'T' - 但它们都与范围限制无关。

考虑这段代码:

 (0..<10).map{ }

为什么这会导致上述错误?

在此处输入图像描述

编译器是否需要一些“帮助”来确定类型?如果是这样,语法是什么?

标签: swiftgenerics

解决方案


鉴于来自@MartinR 和@Sweeper 的评论,一旦弄清了*哪里*错误实际存在,就很容易理解和解决问题。 Xcode突出显示了错误的位置(参见 OP)。

let sineWave: [Float] = (0..<10).map {
            let out: Float = amplitude * sin(2.0 * .pi * Float($0) / Float(sampleFreq))
            return out
    }

请注意,问题在于return type整体关闭不是.Range(0..<10)


推荐阅读