Rust中的多个参考读者和一个参考作者

Rust中的多个参考读者和一个参考作者,rust,reference,borrow-checker,ownership,Rust,Reference,Borrow Checker,Ownership,我目前正在开发一个以该语言为起点的小型锈蚀游戏,基本上有以下代码(我在这里只写了一个很小的示例): struct播放器{ 酒吧玩家:Vec船){ 自我。玩家。推(玩家); } } fn main(){ 让我们一起去吧{ 玩家:vec![], x:0.0, y:0.0, }; //在某个时候为飞船创建一个玩家 让player=player{ship:&ship}; ship.add_播放器(播放器);//您的想法是正确的,您可能需要使用RefCell、rblock甚至Rc。但是,这些概念更高级,我

我目前正在开发一个以该语言为起点的小型锈蚀游戏,基本上有以下代码(我在这里只写了一个很小的示例):

struct播放器{
酒吧玩家:Vec船){
自我。玩家。推(玩家);
}
}
fn main(){
让我们一起去吧{
玩家:vec![],
x:0.0,
y:0.0,
};
//在某个时候为飞船创建一个玩家
让player=player{ship:&ship};

ship.add_播放器(播放器);//您的想法是正确的,您可能需要使用RefCell、rblock甚至Rc。但是,这些概念更高级,我不建议您在刚开始学习该语言时尝试使用它们。相反,我会从Player结构中删除Ship引用,只让Ship包含引用给球员们


如果你还没有,我强烈推荐,这是一个很好的语言介绍,有很好的例子!

你有一个正确的想法,你可能需要使用RefCell、rblock甚至Rc。但是,这些概念更先进,我不建议你在刚开始学习语言时尝试使用它们相反,我会从Player结构中删除Ship引用,只让Ship包含对Player的引用


如果您还没有,我强烈推荐,这是一个很好的语言介绍,有很好的例子!

谢谢,我会看一看!仍然对这个问题感到好奇…您能确认像Vec这样的东西吗?是的,我相信VecThank,我会看一看!仍然对这个问题感到好奇…您能确认像Vec这样的东西吗是的,我相信Vec
error[E0502]: cannot borrow `ship` as mutable because it is also borrowed as immutable
  --> src/main.rs:32:5
   |
31 |     let player = Player { ship: &ship };
   |                                 ----- immutable borrow occurs here
32 |     ship.add_player(player);
   |     ^^^^^----------^^^^^^^^
   |     |    |
   |     |    immutable borrow later used by call
   |     mutable borrow occurs here