gpt4 book ai didi

swift - 变量 p 在初始化之前通过引用传递

转载 作者:IT王子 更新时间:2023-10-29 05:08:58 26 4
gpt4 key购买 nike

我有一个 Human 类,它有一个函数,它接受任意数量的人,并确定某人是否比这些人中的任何一个人年长,然后返回一个包含他/她年长的人的数组。

func isOlderThan(people: Human...) -> [Human] {
var p: [Human]

for person in people {
if age > person.age {
p.append(person)
}
}
return p
}

但是在

p.append(person)

我遇到了错误

Variable p passed by reference before being initialized

有人知道这是为什么吗?谢谢!

最佳答案

您对 p 的声明就是一个声明。你还没有初始化它。您需要将其更改为

var p = [Human]()

或者,正如@MartinR 指出的那样,

var p: [Human] = []

还有其他等效的结构,但重要的是您必须为声明的变量分配一些东西(在这两种情况下,一个空数组将接受 Human 成员)。

更新为了完整起见,您还可以使用:

var p: Array<Human> = []

var p = Array<Human>()

关于swift - 变量 p 在初始化之前通过引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24838015/

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