所以,我有一个文件层次结构,这些文件有自己的类。这是一个例子:
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/