【发布时间】:2019-08-02 16:16:39
【问题描述】:
我正在拼命地尝试完成最后一项任务,但我完全不知道这些错误试图告诉我做什么。错误如下:
“'double Rectangle::calculateArea()' 的原型与 'Rectangle' 类中的任何一个都不匹配”(第 40 行)
“候选者是:int Rectangle::calculateArea()”(第 11 行)
“'double Rectangle::calculatePerimeter()' 的原型与 'Rectangle' 类中的任何一个都不匹配”(第 45 行)
“候选者是:int Rectangle::calculatePerimeter()”(第 12 行)
这是我在这个论坛上的第一篇文章,所以我提前为它的格式错误道歉
我没有尝试过任何事情,因为我在论坛上找到的解决方案都没有与我的问题直接相关(或者我认为如此)。
谢谢
// Rectangle.cpp
using namespace std;
class Rectangle
{
public:
void setLength(double length);
void setWidth(double width);
double getLength();
double getWidth();
int calculateArea() {return width*length;}
int calculatePerimeter() {return (width*2) + (length*2);}
private:
double length;
double width;
};
void Rectangle::setLength(double len)
{
len = length;
}
void Rectangle::setWidth(double wid)
{
wid = width;
}
double Rectangle::getLength()
{
return length;
}
double Rectangle::getWidth()
{
return width;
}
double Rectangle::calculateArea()
{
return (width*length)
}
double Rectangle::calculatePerimeter()
{
return ((width*2) + (length*2))
}
【问题讨论】:
-
函数在声明(类定义内部)和定义中具有不同的返回类型。它们有两个定义,一个在类定义中,另一个在类定义之外
-
你还没有解释这段代码应该做什么。
-
@VladfromMoscow 是的。为什么?
-
@melpomene 对我来说这看起来很奇怪。有一个类定义,没有别的。