Rust:从第二个.rs文件中引用第三个.rs文件



我有三个文件:

// a.rs
struct MyThing {
}
// b.rs
mod a;
struct That {
mything: &a::MyThing;
}
// main.rs
mod a;
mod b;
fn main() {
let thing= a::MyThing{};
let that= b::That{myThing: &thing};
}

我得到a.s的编译错误是:

文件没有找到模块b帮助:创建模块b,创建文件"src/a/b.r "或"src/a/b/mod.rs"

我认为我需要mod a;,以便我可以访问a.rs中的模块,但看起来像因为mod b;main.rs中,b.rs中的mod a;相对于b被解释…什么的。

我如何使用一个.rs文件从另一个?

mod a;不只是声明或引用模块,a,它定义了模块a。将mod a;放在b.rs中创建一个与main.rs中创建的单独模块。相反,让main.rs创建模块,并在b中引用a。在这种情况下,您需要根据它的crate来引用它。在哪个板条箱是模块./b.rs?根箱子,crate:

// b.rs
use crate::a;
struct That {
mything: &a::MyThing;
}

相关内容

  • 没有找到相关文章

最新更新