私はヘッダファイルに(方向という)列挙型を宣言した:が取得エラー「列挙すると、クラスまたは名前空間ではありません」 - C++
enum Direction {LEFT, RIGHT};
その後、私は方向値とセットを取るコンストラクタを持っていますそれは別のDirection変数(stringDirection)のためのものです。
bool InformationWidget::move(Direction direction){
stringDirection=direction;
return true;
}
そして最後に、私はそれの値をチェックif文を持っている:私は、if文が..任意のアイデアことで、エラーを取得していますどこ
if (stringDirection == Direction::RIGHT)
これは? 私は以前のスレッドを見てみましたが、役に立たないものは何も見つかりませんでした。
ありがとうございます!
編集:ここでは
が私のファイルです:
Widget.h
enum class Direction {LEFT, RIGHT};
class Widget {
public:
virtual bool...
...
};
information.h
class InformationWidget: public Widget {
public:
...
Direction stringDirection;
...
};
information.cpp
void InformationWidget::show(){
...
if (stringDirection == LEFT) {
... }
}
返信いただきありがとうございます。私はこれらの解決策を認識していましたが、両方とも機能しません。 私は最初の1つ( 'クラス'を追加する)を試しても、私には同じエラーが表示されます。 私は2番目のものを試してみると、 "シンボル 'RIGHT'を解決することができませんでした"というif文の右部分だけがエラーになります。 – Gambit2007
それから、あなたはどこか他のところで間違ったことをしており、[MCVE](http://stackoverflow.com/help/mcve)を提供する必要があります。 – emlai
私は本当にここで何が問題なのか分かりません。ヘッダーファイルの列挙型を宣言しました。.cppファイルに含まれています(問題があれば、純粋に抽象基本クラスのメソッドを実装しています) – Gambit2007