Possible Duplicates:
Why copying stringstream is not allowed?
how copy from one stringstream object to another in C++?problème avec ostringstream et constructeur de copie
T Compiler classe échoue avec Visual C++ et GCC d'erreurs modèle de iostreams. Voici le code:
#include <sstream>
class T
{
static T copy;
std::ostringstream log;
T() {}
T(const T& t) {log = t.log;}
~T() {copy = *this;}
};
T T::copy;
Changer journal type de membre de données à la chaîne fait compiler et exécuter OK. Est-ce un comportement légitime?
OK, c'est vrai, mais je me fais la même erreur, même avec copie constructeur vide: 'T (const T & t) {}' –
@ Paul: Publier le code réel, et l'erreur. – Nawaz
@Nawasz: Le code est comme dans ma question ci-dessus avec le constructeur de copie remplacé par: 'T (const T & t) {}' ou 'T (const T & t) {log << t.log.str();}' ou 'T (const T & t) {log << t.log.rdbuf();}'. Je reçois toujours: _'std :: basic_ios <_Elem, _Traits> :: operator = ': aucun chemin accessible à un membre privé déclaré dans la base virtuelle' std :: basic_ios <_Elem, _Traits> '_ –