Hola que hay?
Es mi primer mensaje en este foro (no he visto ningún hilo de presentaciones).
Me presento soy surdo y acabo de ver estos foros, geniales y en castellano, con lo cual pues mejor. Escribir en foros en inglés me es bastante complicado.
Pues bien al asunto.
Estoy en un punto en el cual tengo una clase en el que estoy usando como dato miembro privado una lista de la STL. Hasta aquí todo bien.
Ahora como ejercicio práctico, estoy intentando crear otra clase que se apoya en la clase anterior (y que es amiga), de tal forma que me muestre todos los elementos de la clase, más o menos así:
class Contenedor
{
...
private:
list<string> lista;
};
class MostarLista
{
public:
MostrarLista(const Contenedor& c) { ap = c.lista.begin(); }
....
private:
list<string>::iterator ap;
friend class Contenedor;
};
Mi intención es que el constructor deje ap apuntando al primer elemento de la lista.
La cuestión es que la sentencia ap = c.lista.begin() se queja el compilador de que le falta el operador de asignación (eso es lo que no entiendo) en cambio, lo hago en el programa principal y funciona perfectamente.
¿Me estoy olvidando de algo?
Muchas gracias.