在c++编译的时候,会出现discards qualifiers的错误提示
这个错误的表示代码中,尝试修改const的变量,例如:
1,给const的类成员赋值
class person {
private:
int age;
public:
const int& getAge() const
{
return age;
}
void setAge(const int& a)
{
age = a;
}
int getDoubleAge() //非const成员函数
{
return age*2;
}
person() {
age = 0;
}
int main(int argc,char *argv[])
{
const person p;
p.setAge(10);
return 0;
}
2,const变量,调用了非const成员函数
int main(int argc,char *argv[])
{
const person p;
p.getDoubleAge();
return 0;
}
解决方法:
声明非const成员函数为const函数
int getDoubleAge() const
{
return age*2;
}