我不明白为什么我在我的方法结束时会出错。该方法打印不会更改任何类成员,右图?

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的“承诺”。如果您可以在呼叫期间无法保证对象未修改该对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top