【发布时间】:2014-04-10 23:10:34
【问题描述】:
我不明白为什么在我的方法结束时会出现 che const 错误。方法 print 不会改变任何类成员,对吧?
class Hello{
public:
int get_member() {return member_;};
void print() const {
cout<<get_member()<<endl;
};
private:
int member_;
};
错误信息是: 将“const Hello”作为“int Hello::get_member()”的“this”参数传递时出错,丢弃限定符 [-fpermissive]
【问题讨论】:
-
您正在从 cv 限定函数调用非 cv 限定函数。不要那样做。将
get_member声明为const,无论如何它应该是。 -
constant function的可能重复
-
@CaptainObvlious : cv-qualified 是什么意思?
-
@FordPrefect const-volatile.