Вопрос

Я не понимаю, почему я получаю ошибку с Che const в конце моего метода.Печать метода не меняет какой-либо член класса, верно?

class Hello{

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

private:
   int member_;

 };
.

Сообщение об ошибке: Ошибка, проходящая «const Hello» как «Этот» аргумент «Int Hello :: Get_Member ()» отбрасывает квалификации [-FPERMISSIVE]

Это было полезно?

Решение

int get_member() const {return member_;}
.

должен исправить это.Вы не можете назвать членом Non-Const от члена Const, поскольку он нарушает «обещание» Const.Если бы вы могли не быть гарантии, что объект не модифицирован во время вызова.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top