2017-04-12 94 views
-6

在C++中,向量的工作原理是,如果我實例化一個類型爲Obj的向量,我可以通過指定元素訪問帶有點存取器的Obj的成員。我試圖用模板<class T> struct做同樣的事情。如何訪問模板類的成員

如何訪問結構的Obj成員,template <class T> Struct包含vector<T>例如,實例化爲Struct<Obj>

如果我在錯誤的軌道上,有什麼替代?

+6

實際,*真實*,類聲明的' Struct','Obj'和任何包含所述相同的向量的東西,以及一個簡單的訪問者樣本(你正在嘗試(但未成功)的樣本)會使問題變得清晰。 – WhozCraig

回答

0

所以看起來你有這樣的:

struct Obj 
{ 
    int x_; 
}; 

template <typename T> 
struct Struct 
{ 
    std::vector<T> items_; 
}; 

因此,要訪問一個元素(假設你把它添加到向量):

int main() 
{ 
    Struct s; 
    s.items_.resize(10); 
    s.items_[0].x_ = 5; // Access the object memeber of element 0 in the vector. 
} 
相關問題