Bonjour,

J'essaie de surcharger l'operateur<< de c++ mais j'ai une erreur de compilation que j'arriva pa a comprendre..

Si quelqu'un peut aider ....
Je crois bien que tous les fichiers sont inclus.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class MaClasse{
    ....
 
    ostream& print(ostream&) const;
};
 
ostream& operator<<(ostream& s, const MaClasse& c){
    return c.print(s);
}
Erreur du compilateur :
/tmp/ccu02oKW.o(.text+0x0): In function `operator<<(std::basic_ostream<char, std::char_traits<char> >&, MaClasse const&)':
/home/maclasse.h:78: multiple definition of `operator<<(std::basic_ostream<char, std::char_traits<char> >&, MaClasse const&)'
/tmp/ccZ5YlbB.o(.text+0x0):/home/maclasse.h:78: first defined here
collect2: ld returned 1 exit status
Merci à l'avance !