Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/08/2016, 11:58
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Referencia a función con cláusula const

Hola:

Tengo la sensación de que este es uno de esos conceptos que tendría que tener más claro pero se ve que no termino de entender algo, y como además es algo básico que se usa de continuo, pues me gustaría entenderlo de una vez.

El caso es que creo una función para leer un miembro privado de una clase, así:

Código C++:
Ver original
  1. tipo& LeeDato() const
  2. {
  3.     return dato;
  4. }

Pero el compilador me arroja este error:
error: invalid initialization of reference of type 'tipo&' from expression of type 'const tipo' return dato;
^

Yo entiendo que si retorno una referencia es para poder tener acceso a ella, y que puede haber un sinsentido si por un lado quiero acceder directamente a un miembro y por otro lado no quiero modificarlo, pero no entiendo el por qué de la prohibición.

O es que tal vez no entienda el sentido de una función que retorna una referencia.

Como siempre, gracias!
__________________
Mi calculadora en Qt