2013-03-13 48 views
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); 

} 

你不能像任何其他類型設置一個枚舉類型的變量嗎?或者我錯過了一些簡單的東西?我得到的錯誤是在主集合中的「set」,它表示R_LEFT未定義。這很奇怪,因爲如果我想將它傳遞給方法,我通常不會首先聲明「int」...

回答

8

枚舉在您的類Rectangle中定義。你需要有資格R_LEFT

pRect.setRect(Rectangle::R_LEFT); 
+0

完美,謝謝。 – d1ll1nger 2013-03-13 12:07:16