swift - 范围限制的“无法推断通用参数 'T'”
问题描述
注意:还有一些关于“无法推断通用参数'T'”的其他问题 - 例如,无法推断这个通用参数'T' - 但它们都与范围限制无关。
考虑这段代码:
(0..<10).map{ }
为什么这会导致上述错误?
编译器是否需要一些“帮助”来确定类型?如果是这样,语法是什么?
解决方案
鉴于来自@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)
推荐阅读
- yosys - 在使用 ABC 实现的 Verilog 中是否有任何替代 (* keep *) 的方法?
- html - z-index - 我不能点击一个区域
- python - 错误 ArgumentException:JSON 必须表示来自 PyZeroMQ 服务器的对象类型
- android - Rx java2 - 在 AndroidSchedulers.mainThread() 中阻塞Get()
- javascript - 制作 CanvasJS 图表时出现“未捕获的 SyntaxError:无效日期”错误
- python - 使用 tkinter,当跨越 2 列时添加边距
- bash - 如何在 BASH 的参数列表中转换命令的输出?
- csv - 在节点控制台和 WebStorm 中使用 d3 v5,无法使 d3.csv() 工作
- c# - 如何通过凝视选择文本框?
- javascript - 为什么元素的高度与其子元素的总高度不同