gpt4 book ai didi

rust - 无法声明模块 "cannot declare a new module at this location"

转载 作者:行者123 更新时间:2023-11-29 07:52:57 24 4
gpt4 key购买 nike

我有 3 个文件:lib.rs、file2.rs 和 file3.rs。我 lib.rs 我有这个:

mod file2;
use file2::Struct2;

而且效果很好。然而,在 file3 中做同样的事情会编译错误:

mod file2;
use file2::Struct2;

=> error: cannot declare a new module at this location

如果我删除 mod file2 声明,我会得到:

error: unresolved import `Struct2`

这是怎么回事?

最佳答案

我不确定您为什么会收到该错误,但这不会达到您想要的效果。模块形成树结构,您使用 mod 声明来形成它们。所以你试图在 file3 中创建另一个 file2 mod。

我猜你希望 file2 和 file3 都在主模块下,而不是彼此的子模块。为此,将

mod file2;
mod file3;

在 lib.rs 中,然后在 file3.rs 中

use file2::Struct2;

它应该一切正常。我在移动设备上,所以我无法对自己进行三重检查,对格式设置感到抱歉。

关于rust - 无法声明模块 "cannot declare a new module at this location",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32021394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com