Code Fix

中級move クロージャに取り込んだ値をクロージャの外で使うと E0382 になる › パターン2

move クロージャに取り込んだ値をクロージャの外で使うと E0382 になる

moveを付けたクロージャは、参照する変数の所有権を丸ごと取り込みます。

 1  fn main() {
 2      let title = String::from("report");
 3      let show = ________ || println!("title: {}", title);
                       ^
 4      show();
 5      println!("{}", title);
 6  }
error[E0382]: borrow of moved value: `title`

空欄を埋めて実行を通す

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

move クロージャに取り込んだ値をクロージャの外で使うと E0382 になる

取り込まれた後にクロージャの外側でその変数を使おうとするとE0382エラーになります。

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

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