我在头文件中声明了一个枚举(名为 Direction):
enum Direction {LEFT, RIGHT};
然后,我有一个构造函数,它需要一个方向值并将其设置为另一个方向变量(stringDirection)。
bool InformationWidget::move(Direction direction){
stringDirection=direction;
return true;
}
最后,我有一个 if 语句来检查它的值:
if (stringDirection == Direction::RIGHT)
这是我遇到错误的地方,在那个 if 语句中…你有什么想法吗? 我尝试查找以前的线程,但没有找到有用的信息。谢谢! 编辑: 这是我的文件: 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) {
... }
}
enum class
只适用于C++11及以上版本,因此您应该使用-std=c++11
告诉编译器以C++11进行编译。或者推荐使用C++14。编译警告存在是有原因的。(而且这应该是编译错误,请检查您的编译选项是否合理,例如-pedantic-errors
。) - emlai