如何访问模板类的成员

问题描述:

在C++中,向量的工作原理是,如果我实例化一个类型为Obj的向量,我可以通过指定元素访问带有点存取器的Obj的成员。我试图用模板<class T> struct做同样的事情。如何访问模板类的成员

如何访问结构的Obj成员,template <class T> Struct包含vector<T>例如,实例化为Struct<Obj>

如果我在错误的轨道上,有什么替代?

+6

实际,*真实*,类声明的' Struct','Obj'和任何包含所述相同的向量的东西,以及一个简单的访问者样本(你正在尝试(但未成功)的样本)会使问题变得清晰。 – WhozCraig

所以看起来你有这样的:

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. 
}