[C con Clase] Otra duda
Salvador Pozo
salvador en conclase.net
Mie Mar 12 20:36:02 CET 2014
MAj> cuando hago esta operacion el compilador me dice que hay un error
MAj> no known conversion for argument 1 from 'const A' to 'A&'
Hola:
El error es porque estás intentando asignar un puntero constante a un puntero no constante. El dato miembro de B es un puntero no constante, "arg". No es posible asignar un puntero a una referencia constante a un puntero no constante. Eso haría posible modificar el contenido de "arg", y estaría en contra de la declaración del parámetro como referencia constante.
Hay dos opciones, dependiendo de lo que pretendas hacer:
- Declarar arg como un puntero constante:
const A *arg;
- Declarar la referencia en el constructor como no constante:
B(A &c):arg(&c){}
MAj> pero si en cambio cambio los parametros del constructor copia en la clase B
MAj> , asi : B(A const &) , no me genera un error
No entiendo qué has modificado para evitar el error, me parece que B(A const &) es la misma declaración que aparece en el código.
Hasta pronto.
MAj> Gracias
--
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Blog con Clase: http://blogconclase.wordpress.com
Con Clase: http://conclase.net
Más información sobre la lista de distribución Cconclase