Rust 在生锈的情况下进入模块内部

Rust 在生锈的情况下进入模块内部,rust,Rust,如何修复给出此代码示例的编译错误 pub mod media{ pub结构音频设备{ 记录id:i16, 播放id:i16, } pub fn audio_device()->AudioDevice{ 音响设备{ 记录id:-1, 播放id:-1, } } } 结构卡{ 记录id:i16, 播放id:i16, } fn卡()->卡{ 卡片{ 记录编号:1, 游戏编号:1, } } fn main(){ 使用媒体::*; 让_示例:AudioDevice=crate::media::audio_d

如何修复给出此代码示例的编译错误

pub mod media{
pub结构音频设备{
记录id:i16,
播放id:i16,
}
pub fn audio_device()->AudioDevice{
音响设备{
记录id:-1,
播放id:-1,
}
}
}
结构卡{
记录id:i16,
播放id:i16,
}
fn卡()->卡{
卡片{
记录编号:1,
游戏编号:1,
}
}
fn main(){
使用媒体::*;
让_示例:AudioDevice=crate::media::audio_device();
让_card=card();
println!(“记录id:{},播放id:{},{card.record\u id,{card.play\u id”);
普林顿(
“地图记录id:{},播放id:{}”,
_sample.play\u id、\u sample.rec\u id
);
}
error[E0616]:结构'media::AudioDevice'的'play_id'字段是私有的
-->src/main.rs:34:9
|
34 | | u sample.play_id,_sample.rec_id
|         ^^^^^^^^^^^^^^^
错误[E0616]:结构'media::AudioDevice'的'rec_id'字段是私有的
-->src/main.rs:34:26
|
34 | | u sample.play_id,_sample.rec_id
|                          ^^^^^^^^^^^^^^

AudioDevice是一个公共结构,但默认情况下其成员字段是私有的

println!("record_id: {}, play_id: {}", _card.record_id, _card.play_id);
                                             ^    
您正在从结构外部访问私有字段

你可以用几种方法来解决这个问题。一种方法是公开字段:

pub struct AudioDevice {
    pub rec_id: i16,
    pub play_id: i16,
}

AudioDevice是公共结构,但默认情况下其成员字段是私有的

println!("record_id: {}, play_id: {}", _card.record_id, _card.play_id);
                                             ^    
您正在从结构外部访问私有字段

你可以用几种方法来解决这个问题。一种方法是公开字段:

pub struct AudioDevice {
    pub rec_id: i16,
    pub play_id: i16,
}

Stack overflow不太适合新手提问,我鼓励你在其他资源上提出此类问题,rust tag一节中有很多建议。Stack overflow不太适合新手提问,我鼓励你在其他资源上问这样的问题,在rust标签的一节中有很多建议。当我阅读rust编程书籍时,这个单独的成员结构可以发布,但没有涵盖。非常感谢@Gardener先生。当我读到rust编程书时,这个单独的成员结构可以发布,但没有涵盖。谢谢你,园丁先生。