Problème de l'opérateur << sur ma classe
Bonjour, je possède plusieurs classes que je dois afficher, j'ai donc créé, pour chacun de ses classes, les méthodes suivantes :
Code:
1 2 3 4 5 6 7 8 9 10
| ofstream& operator<<(ofstream& os, const Variable& uneVariable)
{
uneVariable.afficher(os);
return os;
}
void Variable::afficher(ofstream& os) const
{
os << sonTypeRetour.c_str() << ' ' << sonNom;
} |
Le problème que je rencontre c'est quand je veux utiliser à fond les opérateurs << pour écrire dans le fichier, comme ceci :
Code:
1 2 3 4 5
| void foo(ofstream& os, Variable& uneVariable)
{
os << uneVariable << endl; // Pas d'erreur
os << " " << uneVariable << endl; // Erreur !!!
} |
Je ne comprends pas pourquoi le " " fait tout planter :(
Code d'erreur :
Citation:
error: no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char> >&)(&((std::ofstream*)os)->std::basic_ofstream<char, std::char_traits<char> >::<anonymous>)), ((const char*)" ")) << uneVariable'|
Si vous avez besoin de plus de détails n'hésitez pas :)
Merci pour votre aide :)