2015-06-10 32 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() {} 
相關問題