c++ - 该对象具有与成员函数“SimpleCircle::GetRadius”不兼容的类型限定符
问题描述
- 我使用 const 方法 GetRadius 和 const SimpleCircle & rhs。在 Jesse Liberty 的书的示例中,我使用 const objectas 调用 const 方法。
- 警告 C26444 避免使用自定义构造和销毁的未命名对象
我不明白问题出在哪里。
class SimpleCircle {
public:
SimpleCircle();
SimpleCircle(int);
SimpleCircle(const SimpleCircle&);
~SimpleCircle();
void SetRadius(int);
const int GetRadius();
const SimpleCircle& operator++();
const SimpleCircle operator++(int);
const SimpleCircle& operator=(SimpleCircle&);
private:
int* itsRadius;
};
SimpleCircle::SimpleCircle(const SimpleCircle & rhs)
{
int temp = rhs.GetRadius();
itsRadius = new int(temp);
}
const int SimpleCircle::GetRadius()
{
return *itsRadius;
}
const SimpleCircle& SimpleCircle::operator++()
{
++(*itsRadius);
return *this;
}
const SimpleCircle SimpleCircle::operator++(int theFlag)
{
SimpleCircle temp(*this);
++(*itsRadius);
return temp;
}
int main()
{
SimpleCircle Circle1;
SimpleCircle Circle2(9);
cout << "Circle1=" << Circle1.GetRadius() << endl << "Circle2=" << Circle2.GetRadius()<<endl;
++Circle1;
Circle2++; //here is the warning, it`s done like ++Circle2
cout << "After ++Circle1=" << Circle1.GetRadius() << endl << "++Circle2=" << Circle2.GetRadius() << endl;
}
解决方案
推荐阅读
- python - 写入 .txt 文件并从 .txt 文件中删除
- javascript - 通过代码设置应用注册 (Azure AD)?
- python - python ggplot 未使用 g.make() 显示
- visual-studio - Visual Studio 2019 书签消失
- c# - Blazor 将 EventCallback 从 RenderFragment 传递到模板化组件
- laravel - Laravel JSON API:如何从数据库创建自定义虚拟资源(用于聚合值)?
- sql - 如何在产生条件和的大型查询中消除 CROSS JOIN?
- java - 如何在JFrame JAVA中检查密码是否为大写和小写?
- r - 如何在 R 中创建一个对称矩阵,计算两列具有相同值的频率?
- amazon-lightsail - Lightsail 错误:登录到 root 帐户时未授权