const в конце одного метода, дающий ошибку
Вопрос
Я не понимаю, почему я получаю ошибку с 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.Если бы вы могли не быть гарантии, что объект не модифицирован во время вызова.
Не связан с StackOverflow