Bonsoir,
Voila, je cherche a declarer un conteneur de la STL (List de prefence) comme contenant des reference vers un objet "Arme".
Si j'ecris :
Alors je declare une list de pointeur d'Arme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 list<Arme*> Arsenal;
Cependant, j'essaye au maximum de faire disparaitre les pointeurs au profit des reference. Je me suis dit que list<Arme*> Arsenal; en pointeur equivaut a list<Arme&> Arsenal; en reference.
Cependant, tout plante. Alors je cherche l'allocateur. Il s'agit certainement de ce template :
On voit bien le typedef du pointeur mais aussi celui de la reference !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 template<typename _Tp> class new_allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type;
Je ne comprend donc pas ou est mon erreur.
Si quelqu'un peut me fournir des explication, se serait bienvenue car je n'ai pour le moment rien trouver de simple sur la toile (en fait, j'ai rien trouver tout court).
Comment declare t'on donc une list de reference sur objet ?
Merci beaucoup.
Partager