0

我正在尝试跟随 WWDC 页面上的游乐场视频,但由于某种原因,我现在收到此错误。我切换到 Xcode 6 的 beta 3,我注意到他们改变了一些东西,比如数组语法,但为什么不能通过 Type T 工作?在此处输入图像描述

我假设从第一个测试版到第三个测试版发生了一些我不知道的变化。

4

1 回答 1

1

错误消息相当神秘,并没有真正告诉您问题所在。

在这种情况下,data参数必须是inout参数,因为您正在修改它并希望更改在函数之外可用。

您应该将功能更改为:

func exchange<T>(inout data: [T], i: Int, j: Int) {
    let temp = data[i]
    data[i] = data[j]
    data[j] = temp
}

调用它时,在 data 参数前面加上&.

exchange(&someData, someInt, anotherInt)
于 2014-07-18T23:38:08.603 回答