为什么Rust会阻止此代码编译,错误:"不能将不可变的局部变量借用arr为可变"?如何将向量作为可变引用传递给另一个函数?
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);
Run Code Online (Sandbox Code Playgroud)
&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);
Run Code Online (Sandbox Code Playgroud)
因为vec已经是了&mut Vec<i32>.
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |