不兼容我遇到了一個我正在實現的類的問題。C++聲明與方法
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和我不能編譯這一點,因爲錯誤是: 「錯誤:聲明是不兼容的 「雙流::的getRate(COLOR彩色)」
有我錯過了什麼,或者我有些困惑的命令?
在此先感謝。
它似乎編譯沒有問題:http://codepad.org/OUS36Z3g – duDE
更多的C++寫你的枚舉的方式是'枚舉顏色{...};'。但是,您所提供的代碼在所有三個版本的Visual Studio中編譯都很好,這表明問題是您沒有粘貼的代碼中存在衝突。 – kfsone
@kfsone我把這個作爲一個單獨的頭文件在一個項目中,甚至沒有其他的東西,包括它,intellisense告訴我這個錯誤。 – user2812288