为什么 Rust 会阻止此代码编译,并出现错误:“无法借用不可变局部变量 arr
as mutable”?如何将向量作为可变引用传递给另一个函数?
let mut vec = vec![0];
fn bar(vec: &mut Vec<i32>) {
// some code here
}
fn foo(vec: &mut Vec<i32>) {
bar(&mut vec);
}
foo(&mut vec);
最佳答案
您不需要使用 &mut
在这种情况下:
let mut vec = vec![0];
fn bar(vec: &mut Vec<i32>) {
// some code here
}
fn foo(vec: &mut Vec<i32>) {
bar(vec);
}
foo(&mut vec);
因为vec
已经是 &mut Vec<i32>
.
关于rust - 如何将可变函数参数作为参数传递给另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33844633/