gpt4 book ai didi

rust - 我如何递归地遵循自引用的 Rc?

转载 作者:行者123 更新时间:2023-11-29 08:13:50 24 4
gpt4 key购买 nike

<分区>

我有一个带有可选自引用的结构:

struct Pathnode {
pos: Pos,
parent: Option<Rc<Pathnode>>,
}

我想跟随 parent 引用直到根节点之前的第一个子节点(根节点没有父节点)。我尝试了以下代码:

let mut head: Pathnode = node;
while head.parent.is_some() {
head = *head.parent.unwrap();
}

但是编译失败,出现以下错误:

error[E0507]: cannot move out of borrowed content
--> file.rs on line 134:24
|
139 | head = *head.parent.unwrap();
| ^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content

如何从Rc 中获取Pathnode?或者,我可以为 head 使用什么其他数据类型?如果我最后只得到一个不可变引用或类似的引用,那也没关系。

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