-1
このコード:* mut Tと&mut Tに割り当てることの違いは何ですか?
let mut a2 = 99;
let b: *mut i32 = &mut a2;
*b = 11; // does not compile , even after unsafe {*b}
はエラー生成:
error[E0133]: dereference of raw pointer requires unsafe function or block
--> src/main.rs:4:5
|
4 | *b = 11;
| ^^^^^^^ dereference of raw pointer
をしかし、このコードは動作します:
let mut a2 = 99
let b = &mut a2;
*b = 11;
二つの違いは何ですか?
'} {'安全ではないと間違って何したがって、あなたは
unsafe
ブロックが必要ですか?多分あなたは間違った場所に置いたでしょうか? https://play.rust-lang.org/?gist=388da28b6bfac187a3c0ec12e1798246&version=stable – loganfsmyth