1

我正在实施的课程有问题。

typedef enum
{
    YELLOW,
    GREEN,
    BLUE
} COLOUR;

class Stream
{
public:
    Stream();
    ~Stream();
    double getRate(COLOUR colour);
private:
    double yrate;
    double grate;
    double brate;
};

Stream::Stream()
{
    yrate = 2.2;
    grate = 3.3;
    brate = 4.4;
}

Stream::~Stream()
{
}

double Stream::getRate(COLOUR colour)
{
    double rate;
    switch(colour)
    {
    case YELLOW:
        rate = yrate;
        break;
    case GREEN:
        rate = grate;
        break;
    case BLUE:
        rate = brate;
        break;
    }
    return rate;
}

我正在使用 Visual C++ 2010 Express,我无法编译它,因为错误是:'错误:声明与“double Stream::getRate(COLOUR colour)”不兼容

有什么我遗漏的东西,或者我混淆了一些顺序吗?

提前致谢。

4

1 回答 1

1

enum COLOUR
{
    YELLOW,
    GREEN,
    BLUE
};

反而。typedef您使用的成语(以不完整的方式)是为了C兼容性,从您的标签来看,您不需要。

于 2013-09-24T18:31:43.627 回答