Code Fix

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

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

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

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

空欄を埋めて実行を通す

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

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

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

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

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