Pregunta

No entiendo por qué recibo un error con Che Const al final de mi método.El método de impresión no cambia ningún miembro de clase, ¿verdad?

class Hello{

public:
   int get_member() {return member_;};
   void print() const {
       cout<<get_member()<<endl; 
   };

private:
   int member_;

 };

El mensaje de error es: Error al pasar "const hola" como "este" argumento de 'int hola :: get_member ()' descartes calificadores [-fpermissive]

¿Fue útil?

Solución

int get_member() const {return member_;}

debería arreglarlo.No puede llamar a un miembro no const de un miembro const, ya que rompe la "promesa" de Const.Si pudiera, no habría garantía de que el objeto no se modifique durante la llamada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top