2015-06-10 30 views
-5

所以,我有一个拥有自己的类的文件的层次结构。这里有一个例子:在另一个文件中定义的未声明类型的使用

mod query; 

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

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

虽然它说,文件是在那里,它说,“查询是一个未声明的类型,”即使在另一个文件存在。当所有内容都在同一个文件中时,代码就可以工作

+0

你的问题实际上并没有指定你的文件布局或实际定义了Query的地方。 – Shepmaster

回答

4

这是记录在锈书,特别是section on modules。当您有不同的模块时,您需要使用use关键字将来自其他模块的项目放入示波器。

mod query { 
    pub struct Query; 
} 

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

struct Row(Vec<Query>); 

fn main() {} 
相关问题