小编ban*_*ban的帖子

由于对 `.into_iter()` 的这种隐式调用,对向量的可变引用被移动,但显式调用 `.into_iter()` 有效

这将失败:

fn ppv(arr: &mut Vec<i32>) {
    if arr.len() <= 0 {
       return;
    }
    let mut pp: i32 = 0;
    for &mut val in arr {
        if val == pp {
            pp = val;
        }
    }
    println!("arr is {:?}", &arr);
}
Run Code Online (Sandbox Code Playgroud)

但这会过去:

fn ppv(arr: &mut Vec<i32>) {
    if arr.len() <= 0{
       return;
    }
    let mut pp: i32 = 0;
    for &mut val in arr.into_iter() {
        if val == pp {
            pp = val;
        }
    }
    println!("arr is {:?}", &arr);
}
Run Code Online (Sandbox Code Playgroud)

当我编译第一个时,它失败了: …

rust

6
推荐指数
1
解决办法
105
查看次数

标签 统计

rust ×1