Re-bonjour, j'ai aussi un problème, concernant cette fois la surcharge de l'opérateur << pour des streams lorsqu'on se trouve à l'intérieur d'un namespace.
voici un bout de code en tant qu'exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //header.h namespace fooname { class CFoo { /*...*/ FOO_API friend std::ostream& operator<<(std::ostream& os, const CFoo& foo); }; }Ceci compile, mais j'ai l'impression que je n'ai pas surchargé le bon opérateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //source.cpp namespace fooname { std::ostream& operator<<(std::ostream& os, CFoo& foo) { os << /* membres de CFoo */ << std::endl; return os; } }
J'obtiens des erreurs linkage si je veut accéder à cette fonction.
D'où ma question, si ce code n'est pas valable, que manque-t-il pour que ca fonctionne? Serait-ce l'operateur<< lui-même qui doit être membre de std::ostream, ou encore autre chose ?
Partager