2

我正在将枚举类型添加到我迄今为止学到的极少数 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 中的“设置”期间,它说 R_LEFT 未定义。这很奇怪,因为如果我想将它传递给一个方法,我通常不会首先声明一个“int”......

4

1 回答 1

8

枚举在您的类中定义Rectangle。您需要符合条件R_LEFT

pRect.setRect(Rectangle::R_LEFT);
于 2013-03-13T12:00:17.787 回答