Surchage opérateurs de flux
Hello,
J'ai un peu de mal avec la surcharge d'opérateurs de flux... :
j'ai une classe définie comme ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Color
{
//[...]
public:
friend std::istream& operator >>(std::istream &is, Color &c)
{
return is >> c.r >> c.g >> c.b;
}
friend std::ostream & operator << (std::ostream &os, const Color &c)
{
return os << c.r << " " << c.g << " " << c.b ;
}
}; |
Et ensuite lorsque que j'essaye simplement de m'en servir:
Code:
1 2 3 4
| std::string line;
std::getline( file, line );
Color3 ambient;
ambient << line; |
Bah C::B tire la tronche :
Citation:
Envoyé par Code::Blocks
133|error: no match for 'operator>>' in 'ambient >>
29|note: candidates are: std::istream& operator>>(std::istream&, Color&)|
(etc..)
J'ai pas trouvé beaucoup d'exemple à ce niveau la sur le net ou même dans la faq donc je me permet de poster, si quelqu'un avais une petite idée.