rust - 使用在另一个文件中定义的未声明类型

标签 rust

所以,我有一个文件层次结构,这些文件有自己的类。这是一个例子:

mod query;

struct Row<T>{
    data: Vec<Query<T>>,
}

impl<T> Row<T>{
    fn new(array: Vec<Query<T>>) -> Row<T>{
        Row{
          data: array,
        }
    }
}

虽然它说文件在那里,但它说“查询是未声明的类型”,即使它存在于另一个文件中也是如此。当所有内容都在同一个文件中时,代码才有效。

最佳答案

这在 Rust 书中有记录,特别是 section on modules .当您有不同的模块时,您需要使用 use 关键字将来自其他模块的项目引入作用域。

mod query {
    pub struct Query;
}

// Bring Query into scope
use query::Query;

struct Row(Vec<Query>);

fn main() {}

关于rust - 使用在另一个文件中定义的未声明类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745077/

相关文章:

rust - 无法将内值移出Arc rust

visual-studio-code - VSCode调试无法显示引用值

data-structures - Rust 自定义数据类型中的大小类型参数?

json - 是否可以使用 json 的 json_serde::from_str() 获取值,其中字符串周围没有“”?

rust - 为什么我不能可变地移动捕获不可变变量?

gcc - 如何在 Rust 中使用 -mlongcall GCcflags?

rust - 特征 std::ops::Try 没有为 impl 实现

rust - 如何从特征对象中获取对具体类型的引用?

path - 我可以使用 `std::path::Path` 的 `strip_prefix` 来替换动态前缀吗?

rust - 在迭代可变成员时访问不可变方法