Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/05/2014, 04:44
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 11 meses
Puntos: 61
Respuesta: Error con conversion de tipos/c++

En C++ no es posible instanciar tipos que el compilador no ha visto completamente. Tu operator intenta hacer esto (linea 34) y el compilador, perplejo, no lo acepta y reclama.

En terminos generales, en C++ está permitida la conversión HACIA otros tipos usando operator o bien la conversion DESDE otro tipo mediante el constructor. Al incluir ambos estas haciendo competir las conversiones. Si pudieras compilar ambos, un compilador hábil lo mas probable es que te diga que hay ambiguedad en algunos casos. En otro resolverá por el uso que le das (por ejemplo si lo usas en contextos en donde se generan variables temporales).

Es mejor la conversion DESDE otro tipo, usando el contructor.. Construir un objeto de otra clase tiene el problema que cada cambio en la segunda clase hay que traerla a la primera, o sea hay que modificar 2 veces todo.
La conversion DESDE otra clase podria no tener este costo si construyo mi objeto usando metodos publicos de la otra clase. Mientras la otra clase no cambie su interfaz hacia afuera, no habra el costo de modificar otras clases al modificar esta.

En este codigo sugiero que remuevas el operator..
__________________
Visita mi perfil en LinkedIn

Última edición por CalgaryCorpus; 10/05/2014 a las 09:00