C ++声明与方法不兼容

时间:2013-09-24 18:28:45

标签: c++ visual-studio-2010 class compiler-errors

我正在实施一个类的问题。

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(COLOR color)”

不兼容

是否有我遗漏的东西,或者我混淆的一些订单?

提前致谢。

1 个答案:

答案 0 :(得分:1)

enum COLOUR
{
    YELLOW,
    GREEN,
    BLUE
};

代替。您使用的typedef惯用语(以不完整的方式)是C兼容性,从您的代码中,您不需要。