题
我不明白为什么我在我的方法结束时会出错。该方法打印不会更改任何类成员,右图?
class Hello{
public:
int get_member() {return member_;};
void print() const {
cout<<get_member()<<endl;
};
private:
int member_;
};
.
错误消息是: 将“const hello”作为“此”参数的“inter hello :: get_member()”丢弃限定符[-fpermissive]
解决方案
int get_member() const {return member_;}
.
应该修复它。您无法从Const成员调用非Const成员,因为它会破坏Const的“承诺”。如果您可以在呼叫期间无法保证对象未修改该对象。
不隶属于 StackOverflow