使用 nil 默认值声明数组时出现编译错误

Compilation errors when declaring arrays with nil default values

我在用 nil 声明值声明数组时遇到了我无法理解的奇怪错误消息。

我在 Xcode 操场上做这个。

//this is ok
var threeDoubles = [Double](count: 3, repeatedValue: 0.0)

//error: incorrect argument label in call, have count expected "arrayLiteral"
var threeDoubles2 = [Double](count: 3)

//error: extra argument "repeatedValue" in call
var threeDoubles2 = [Double](count: 3, repeatedValue: nil)

好的,我发现了我自己的错误。基本上,值不能为零,因为我将数组声明为 Double,而不是 Double?

这与 xcode 向我展示的额外参数无关。

var threeDoubles2 = [Double?](count: 3, repeatedValue: nil)

即使是简单的错误,神秘的错误消息也会让您偏离正轨。