Tengo una clase C++, digamos que se llama C, y quiero utilizar el constructor de copia implícita en uno de los métodos, de esta manera:El uso de "esto" como parámetro para copiar constructor
c c::do_something() {
c copy = this; //I want implicit copy constructor here!
copy.something_else();
//........//
return copy;
}
sin embargo, los rendimientos de gcc este error:
error: invalid conversion from 'c* const' to 'long unsigned int'
(tengo otro constructor de largo sin signo int presente)
... como si no existiera el constructor de copia. ¿Qué estoy haciendo mal?
bien ... sí, eso es, al parecer. gracias :) –
Esto realmente está usando el constructor predeterminado y luego el operador de asignación, * no * el constructor de copia. Vea la respuesta de Matt. –
Andrew: No estoy seguro - Josh a continuación (y algunos sitios) dice lo contrario –