我正在实施一个类的问题。
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)”
不兼容是否有我遗漏的东西,或者我混淆的一些订单?
提前致谢。
答案 0 :(得分:1)
写
enum COLOUR
{
YELLOW,
GREEN,
BLUE
};
代替。您使用的typedef
惯用语(以不完整的方式)是C
兼容性,从您的代码中,您不需要。