Bonjour, je possède plusieurs classes que je dois afficher, j'ai donc créé, pour chacun de ses classes, les méthodes suivantes :
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
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 C++ : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Si vous avez besoin de plus de détails n'hésitez paserror: 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'|
Merci pour votre aide
Partager