Code Fix

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

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

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

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

空欄を埋めて実行を通す

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

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

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

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

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