我正在添加一个枚举类型到目前为止我学到的很少的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);
}
Run Code Online (Sandbox Code Playgroud)
你能不能像任何其他类型一样设置枚举类型的变量?或者我错过了一些简单的东西?我得到的错误是在main中的"set"期间,表示R_LEFT未定义.这很奇怪,因为如果我想将它传递给方法,我通常不首先声明"int"...
枚举在您的类中定义Rectangle.你需要符合资格R_LEFT:
pRect.setRect(Rectangle::R_LEFT);
Run Code Online (Sandbox Code Playgroud)