Bonjour,
J'ai une structure définie comme ceci :
et une classe Y qui stocke des X :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct X { std::ofstream file; // ... };
Mon soucis, c'est que lorsque je veux créer un nouveau X et le ranger dans data, le compilateur m'en empêche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class Y { private: std::unordered_map<std::string, X> data; };
Comment puis-je m'en sortir ? J'aimerais pouvoir faire ceci :error: use of deleted function 'X& X::operator=(const X&)'
note: 'X& X::operator=(const X&)' is implicitly deleted because the default definition would be ill-formed:
error: use of deleted function 'std::basic_ofstream<char>& std::basic_ofstream<char>::operator=(const std::basic_ofstream<char>&)'
Comment puis-je le créer sans copie ? (j'utilise un mingw64 avec gcc 4.7).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Y y; y.add_X ("ID", X(/* ... */));
Partager