Erreur de lien sur templates
Bonjour à tous,
ça fait un bail que je n'ai pas joué avec les templates, et je me retrouve avec une erreur de lien (et un trou de mémoire :oops: ).
Le .h ressemble à ceci :
Code:
1 2 3 4 5
|
template< class T >
class CNTree {...};
template< class T >
std::ostream& operator << ( std::ostream& ostr, const CNTree< T >& rhs ) { ... } |
Les garde d'include sont en place.
Le compilateur me dit :
Citation:
SynViewer6SingleDlg.obj : error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class CTreeItemHelper const &)" (??6@YAAAV?$basic_ostream@DU
?$char_traits@D@std@@@std@@AAV01@ABVCTreeItemHelper@@@Z) already defined in SynViewer6Single.obj
NB : la classe CSynViewer6SingleDlg a un membre de type CNTree< ... > of course.
Qu'ai-je donc oublié ? :?