2017-04-12 4 views
-6

En C++, le vecteur fonctionne de sorte que si j'instancie un vecteur, de type Obj par exemple, je peux accéder aux membres d'un Obj avec l'accesseur point en spécifiant l'élément. J'essaye de faire la même chose avec un modèle <class T> struct.Comment accéder aux membres d'une classe template

Comment puis-je accéder aux membres Obj d'une structure, un template <class T> Struct contenant un vector<T> par exemple, instancié comme Struct<Obj>.

Si je suis sur la mauvaise voie, quelle est l'alternative?

+6

réels, * réel *, les déclarations de classe pour ' Struct', 'Obj', et tout ce qui contient des vecteurs de said-same, ainsi qu'un simple exemple d'accesseur de ce que vous essayez (mais pas réussir) de faire, ferait des * merveilles * en rendant cette question claire. – WhozCraig

Répondre

0

Il semble que vous avez ceci:

struct Obj 
{ 
    int x_; 
}; 

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

Donc, pour accéder à un élément (en supposant que vous avez ajouté au vecteur):

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