Título: Sobrecarga operador -> [C++] Publicado por: K-YreX en 6 Enero 2019, 10:30 am Tengo la siguiente clase y estoy intentando sobrecargar el operador -> pero sólo puedo sobrecargarlo con constantes, me explico:
Código
Entonces si intento sobrecargar ese operador -> me da un error. Lo he conseguido solucionar modificándolo así: Código
Entonces no sé si es posible sobrecargar ese operador cómo lo había intentado al principio o siempre tiene que ser constante. :-X Título: Re: Sobrecarga operador -> [C++] Publicado por: Cero++ en 6 Enero 2019, 14:26 pm Pues mira, creo que poniendo
Código Se arregla la cosa, no tengo muy bien entendido si es un puntero a entero la variable Código pero poniéndolo como yo digo, se arregla Código Si me decís qué es la variable iterator_private, podemos llegar a una conclusión juntos :xD Título: Re: Sobrecarga operador -> [C++] Publicado por: K-YreX en 6 Enero 2019, 17:21 pm La variable <private_iterator> es un std::set<T>::iterator, es decir; un iterador de set. El tema de hacer que devuelva un puntero a entero es porque si no se usa la flecha la otra alternativa sería esta:
Código
Por eso he deducido que el valor de retorno del operador -> sería un puntero al tipo de dato que retorna el *. PD: No he probado si se soluciona con lo que me comentas de hacer el método constante. Cuando pueda lo probaré y si funciona ya lo comentaré por aquí. Es que he estado buscando bastante información en internet sobre este operador y sobre sobrecargarlo y lo único que he encontrado es que se puede sobrecargar pero no he encontrado cómo se haría. Gracias por la respuesta :-X Pues mira, creo que poniendo Código
Ya he probado esto a ver si funciona y no. Tengo el mismo problema usando esa función que si uso la primera que he mostrado yo. De momento la única solución que he encontrado es que el valor de retorno sea constante. Si alguien sabe algo más al respecto... :-X |