Código
class ConjuntoEnteros{ private: std::set<int> private_set; public: ConjuntoEnteros(); // ... class Iterator{ private: std::set<int>::iterator private_iterator; public: Iterator(); // ... int* operator->(){ return &*private_iterator; } }; };
Entonces si intento sobrecargar ese operador -> me da un error. Lo he conseguido solucionar modificándolo así:
Código
const int* operator->(){ return &*private_iterator; }
Entonces no sé si es posible sobrecargar ese operador cómo lo había intentado al principio o siempre tiene que ser constante.