我正在添加枚举类型到目前为止我学到的很少的C ++,但是设置它有困难......我是否缺少一些基础知识?
class Rectangle
{
public:
Rectangle();
~Rectangle();
enum rectangle_directions_t {R_LEFT = 0, R_DOWN = 1, R_RIGHT= 2, R_UP = 3, R_NONE = 4};
void setRect(rectangle_directions_t rec_dir) {rectangle_direction = rec_dir;}
private:
rectangle_directions_t rectangle_direction;
};
int main()
{
Rectangle pRect;
pRect.setRect(R_LEFT);
}
你能不能像任何其他类型一样设置枚举类型的变量?或者我错过了一些简单的东西?我得到的错误是在main中的“set”期间,表示R_LEFT未定义。这很奇怪,因为如果我想将它传递给方法,我通常不首先声明“int”...
答案 0 :(得分:8)
枚举是在您的班级Rectangle
中定义的。您需要符合R_LEFT
:
pRect.setRect(Rectangle::R_LEFT);