Enum问题,还是我的理解?

时间:2013-03-13 11:59:07

标签: c++

我正在添加枚举类型到目前为止我学到的很少的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”...

1 个答案:

答案 0 :(得分:8)

枚举是在您的班级Rectangle中定义的。您需要符合R_LEFT

的资格
pRect.setRect(Rectangle::R_LEFT);