Pourquoi ne veut-il pas être mon pote?

Pourquoi ne veut-il pas être mon pote? - C++ - Programmation

Marsh Posté le 15-02-2005 à 01:33:52    

Re-bonjour,
 
Désolé si j'abuse avec toutes mes questions, mais là, je rame en plein desert...
Borland C++ 4 me dit "Unresolved external std::basic_ostrem etc etc". En un mot, il fait mine de ne pas trouver la surcharge de l'opérateur << pour la classe ArbreNaire. Or, la ou ca devient vraiment étrange, c'est que quand je met la variable m_Racine en public et que j'enleve la déclaration d'amitié, tout fonctionne. En fait, le problème vient uniquement quand je fait une déclaration d'amitié...
 

Code :
  1. #include <string.h>
  2. #include <iostream.h>
  3. #include "Liste.h"
  4. class ArbreNaireException
  5. {};
  6. template <class T> struct Noeud
  7. {
  8.         Noeud* m_Adjacent;
  9.         Noeud* m_Descendant;
  10.         T m_Donnee;
  11. };
  12. template <class T> class ArbreNaire
  13. {
  14.         private:
  15.                 Noeud<T>* m_Racine;
  16.         public:
  17.                 ArbreNaire();
  18.                 template <class T> friend class ArbreNaireIterateur;
  19.                 template <class T> friend ostream& operator<< (ostream& o,const ArbreNaire<T> an);
  20. };
  21. template <class T> ostream& operator<< (ostream& o,const ArbreNaire<T> an)
  22. {
  23.         o << "Arbre N-aire";
  24.         o << an.m_Racine;
  25.         return o;
  26. }


 
Si quelqu'un pouvait m'aider...


---------------
Mon Flickr
Reply

Marsh Posté le 15-02-2005 à 01:33:52   

Reply

Marsh Posté le 15-02-2005 à 08:46:39    

tu voudrais pas passer ton "const ArbreNaire<T> an" par reference, plutot ?

Reply

Marsh Posté le 15-02-2005 à 10:29:26    

chrisbk a écrit :

tu voudrais pas passer ton "const ArbreNaire<T> an" par reference, plutot ?


Oui, c'est ce que je fait, mais j'ai essayé pas mal de truc pour voir si le problème ne venait pas de la. Le fait que ce soit passé en référence ou non ne joue en rien sur mon problème...


---------------
Mon Flickr
Reply

Marsh Posté le 15-02-2005 à 10:33:51    

(bin peut etre mais laisse quand meme la reference :o)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed