Bonjour,
Je tente d'écrire des données dans un fichier tout se passe bien sauf quand je tente d'afficher un objet complexe.
L'idée de mon code est de prodécer à l'affichage d'un objet assez complexe de type "graphGrammar". Cet objet comporte entre autre un vector<CDart> appelé rules.
CDart lui même comporte plusieurs attributs, c'est pourquoi je me suis dit que j'allais créer une première fonction principale "printRules" qui afficherait un certain nombre d'attributs et qui appellerait elle même "printFace" qui s'occuperait de l'affichage des CDarts.
Ci-dessous le prototype de la fonction printRule et printFace :
Code de printRules :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 void printRules(GraphGrammar, string); void printFace(vector<CDart>, ofstream);
L'erreur que j'obtient est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void printRules(GraphGrammar g, string filename){ ofstream fichier(filename.c_str(), std::ios::out | std::ios::ate); if(fichier) // si l'ouverture a réussi { unsigned int i = 0; while(i < g.getRules().size()){ fichier << "Regle n° " << i << ":" << endl; fichier << printFace(g.getRule(i).antecedent, fichier) << endl; i++; } fichier.close(); }
J'ai cru comprendre qu'il attendait que je lui passe un "const ostream" en paramètre lors de l'appel de printFace, mais visiblement j'ai mal compris puisque cela ne résoud rien./usr/include/c++/4.6/bits/ios_base.h: In copy constructor ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’:
/usr/include/c++/4.6/bits/ios_base.h:788:5: erreur: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
Toute aide est la bienvenue, merci d'avance !
Partager