Hello world !!
Un petit merci a tout ce qui me lirons et peut etre un grand a celui qui me donne ma reponce.
Alors je vous mets dans le bain:
Je doit coder un patron de list doublement chainée (comme dans list.h)
pour cela j'ai:
- Un template<typename T> representant la liste elle memme
- Un template<typename T> representant un element de la liste
Ce dernier (l'element) contient une valeur de type T et 2 pointeurs sur les elements precedent et suivant.
On arrive dans le vif du sujet:
Etant donne que perssonne a part le template de liste n'a besoin de trifouiller dans mon template d'element je veux rendre celui-ci entierement privé et donc rendre friend le template de la list.
Je l'ai fait comme ceci dans le template d'element:
template<typename> friend class DualLinkedList;
Maintenant je veut coder un operator<< pour ma liste voici ca declaration:
friend std::ostream& operator<< (std::ostream& os,const DualLinkedList<T>& l)
Et voila enfin la question:
Je ne peut dans cette operator acceder aux donnée membres du template de l'element. (Normale il ne fait pas partie de la list)
Donc:
Comment rendre friend cette operator de la classe d'element ??j'ai essaye ce genre de chose:
friend std::ostream& operator<< <>(std::ostream& , const DualLinkedList<T>& );
template<typename> friend std::ostream& operator<< <>(std::ostream& , const DualLinkedList& ); //avec ou sens le <>
Et d'autre ...
Pour info je suis sous linux et g++ 4
Bravo !!! et Merci tu est arrivé a me lire jusque ici, tu a gagné le petit merci, maintenant pour le grand ... je croise les dois.
Si pas assez clair, tu peux me demande des precisions.
PS: desolé je ne sait pas ecrire francais et comme j'ai pas un cerveau dualCore c'est encord pire quant je reflechie en memme temps

a++
PS2: Y'a pas un truc pour faire une mise en forme "code"? je trouve pas...