Voglio creare una struttura mutevole nello stack e mutarlo dalle funzioni di aiuto.Come posso passare un riferimento a dati mutabili in Rust?
#[deriving(Show)]
struct Game {
score: u32,
}
fn addPoint (game: &mut Game) {
game.score += 1;
}
fn main() {
let mut game = Game { score: 0 };
println!("Initial game: {}", game);
// This works:
game.score += 1;
// This gives a compile error:
addPoint(&game);
println!("Final game: {}", game);
}
Cercando di compilare questo dà:
rustc mutable.rs
mutable.rs:19:18: 19:23 error: cannot borrow immutable dereference of `&`-pointer as mutable
mutable.rs:19 addPoint(&game);
^~~~~
error: aborting due to previous error
Che cosa sto facendo di sbagliato?
Prova 'addPoint (& gioco mut)'. –
FYI: la convenzione avrebbe 'pn add_point (gioco: e mut Game)' piuttosto che 'fn addPoint (gioco: & mut Game)'. –
@ChrisMorgan Adoro l'uomo della ruggine, anche quello, l'hanno capito bene (per i miei gusti alla fine) –