Próbuję podzielić mój projekt na wiele plików, ale mam problemy z zaimportowaniem ich do mojego main.rs
, ponieważ jest napisane, że pola kolumny są prywatne, ale deklaruję strukturę jako publiczną.Pole struct jest prywatne podczas importowania modułu
src/column.rs
pub struct Column {
name: String,
vec: Vec<i32>,
}
src/main.rs
pub mod column;
fn main() {
let col = column::Column{name:"a".to_string(), vec:vec![1;10]};
println!("Hello, world!");
}
budować ładunek
src/main.rs:4:15: 4:75 error: field `name` of struct `column::Column` is private
src/main.rs:4 let col = column::Column{name:"a".to_string(), vec:vec![1;10]};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main.rs:4:15: 4:75 error: field `vec` of struct `column::Column` is private
src/main.rs:4 let col = column::Column{name:"a".to_string(), vec:vec![1;10]};
Ahhh, ok. Przyjąłem, że użycie 'pub struct' spowodowałoby, że pola struct były takie, jakie wywarłem z książki. – jimjampez