Question

Je ne comprends pas pourquoi je reçois une erreur avec Che Const à la fin de ma méthode.La méthode imprime ne change aucun membre de classe, non?

class Hello{

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

private:
   int member_;

 };

Le message d'erreur est: Erreur lors du passage "const bonjour" comme "cet" argument de "int Hello :: get_member ()" rejette les qualificatifs [-Fpermissive]

Était-ce utile?

La solution

int get_member() const {return member_;}

devrait le réparer.Vous ne pouvez pas appeler un membre non-const d'un membre de Const car il brise la «promesse» du const.Si vous pouviez, il n'y aurait aucune garantie que l'objet n'est pas modifié pendant l'appel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top