Domanda

Non capisco perché ottengo errori con che constati alla fine del mio metodo.La stampa del metodo non cambia alcun membro della classe, giusto?

class Hello{

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

private:
   int member_;

 };
.

Il messaggio di errore è: Errore durante il passaggio di "Const Hello" come "questo" argomento "Int Ciao :: Get_Member () '' Scardi Qualificatori [-Fermissivi]

È stato utile?

Soluzione

int get_member() const {return member_;}
.

dovrebbe risolverlo.Non è possibile chiamare un membro non cost da un membro costante in quanto rompe la "promessa" di const.Se potessi esserci alcuna garanzia che l'oggetto non sia modificato durante la chiamata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top