gpt4 book ai didi

c++ - 常量函数不能用于常量引用对象?

转载 作者:太空宇宙 更新时间:2023-11-04 15:46:58 24 4
gpt4 key购买 nike

我完全不确定如何描述我的问题。

基本上我有一个函数来检查我的矩形是否包含不同的矩形,但是,当我尝试使用我的函数时,例如 getXgetY 我是遇到:错误:对象具有与成员函数对象类型不兼容的类型限定符:const Rectangle2D

我的函数如下。

const bool Rectangle2D::contains(const Rectangle2D &r) {
const double x = r.getX();
const double y = r.getY();
const double width = r.getWidth();
const double height = r.getHeight();
}

我所有的 get 函数都是常量,例如:

const double Rectangle2D::getX() {
return x;
}

在我的类(class)中,函数定义为 const bool contains(const Rectangle2D &r)

如果需要更多信息,请告诉我。如果有人能帮助我或指出正确的方向,我将不胜感激。

最佳答案

你需要把const放在函数名和参数列表之后,花括号或分号之前。所以在你的课上你应该有

double getX() const;

然后当你实现它的时候,你应该有

double Rectangle2D::getX() const {
return x;
}

您需要对 contains 函数以及您希望能够在 const Rectangle2D 上使用的任何其他函数执行相同的操作。

关于c++ - 常量函数不能用于常量引用对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com