Constarsi alla fine di un metodo che fornisce errore
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]
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