2
« en: Sábado 30 de Mayo de 2009, 18:08 »
Hola,
Mi problema es el siguiente,
por un lado tengo una clase que tiene como campo protegido un diccionario que guarda un string como clave y un entero
map<string, int> p;
ahora, en una función, necesito mostrar todos los datos de ese diccionario utilizando un copy (necesariamente tiene que ser un copy)
void miclase::ImprimeDatos(ostream & out) const
{
copy(p.begin(), p.end(), ostream_iterator<pair<string,int>>(out, "n"));
}
No compila esa línea del copy, para intentar solucionarlo, sobrecargué el operador de salida de miclase para que imprimiera pares, lo hice así:
ostream & operator<< (ostream out, const std::pair<string, int>& x){
return out << x.first<<x.second;}
Me sigue dando error
¿Alguien me ayuda?