Code Fix

中級for ループで Vec を直接回すと要素がムーブされる › パターン3

for ループで Vec を直接回すと要素がムーブされる

for x in vec のように所有権を持つVecを直接forに渡すと、内部でinto_iter()が呼ばれ各要素の所有権がムーブされます。

 1  fn main() {
 2      let items = vec![String::from("p"), String::from("q")];
 3      for it in _____________ {
                        ^
 4          println!("{}", it);
 5      }
 6      println!("{}", items.len());
 7  }
error[E0382]: borrow of moved value: `items`

空欄を埋めて実行を通す

広告
広告スロット(未設定)

for ループで Vec を直接回すと要素がムーブされる

ループの後で元のVecを使おうとするとE0382エラーになります。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)