0

CI では、まだ初期化されていない構造体を使用できます。Rustでこのコードを試しました:

struct User {
    username: String,
    email: String,
    sign_in_count: u64,
    active: bool,
}

fn main(){
    let mut user1: User;
    user1.active = false;
}

しかし、コンパイルエラーが発生しました:

error[E0381]: assign to part of possibly-uninitialized variable: `user1`
  --> src/main.rs:10:5
   |
10 |     user1.active = false;
   |     ^^^^^^^^^^^^^^^^^^^^ use of possibly-uninitialized `user1`

これが C では許可されているのに、Rust ではエラーになるのはなぜですか?

4

2 に答える 2