मैं एक enum (बुलाया दिशा) एक हेडर फाइल में घोषित: फिरएक हो रही त्रुटि "enum कक्षा या नाम स्थान नहीं है" - सी ++
enum Direction {LEFT, RIGHT};
, मैं एक निर्माता है कि एक दिशा मूल्य लेता है और निर्धारित किया है यह एक और दिशा चर (स्ट्रिंगडिरेक्शन) के लिए।
bool InformationWidget::move(Direction direction){
stringDirection=direction;
return true;
}
और अंत में, मैं एक अगर बयान है कि इसके बारे में मूल्य की जांच करे:
if (stringDirection == Direction::RIGHT)
यह वह जगह है जहां मैं त्रुटि मिल रही है, पर यह है कि अगर बयान .. किसी भी विचार? मैंने पिछले धागे पर चारों ओर देखने की कोशिश की लेकिन कुछ भी उपयोगी नहीं मिला।
धन्यवाद!
संपादित करें:
यहाँ मेरी फ़ाइलें:
Widget.h
enum class Direction {LEFT, RIGHT};
class Widget {
public:
virtual bool...
...
};
information.h
class InformationWidget: public Widget {
public:
...
Direction stringDirection;
...
};
information.cpp
void InformationWidget::show(){
...
if (stringDirection == LEFT) {
... }
}
आपके उत्तर के लिए धन्यवाद! मैं इन समाधानों से अवगत था लेकिन उनमें से दोनों काम नहीं करते हैं। जब मैं पहली बार कोशिश करता हूं ('कक्षा' जोड़ना) यह अभी भी मुझे एक ही त्रुटि देता है। जब मैं दूसरा प्रयास करता हूं, तो यह केवल कथन के दाहिने भाग के लिए एक त्रुटि देता है, कह रहा है कि "प्रतीक 'दाएं हल नहीं किया जा सका"। – Gambit2007
फिर आप कहीं और कुछ गलत कर रहे हैं और एक [एमसीवीई] (http://stackoverflow.com/help/mcve) प्रदान करने की आवश्यकता है। – emlai
मुझे सच में नहीं पता कि समस्या क्या है .. मैंने हेडर फ़ाइल में enum घोषित किया है, इसे एक .cpp फ़ाइल में शामिल किया है (जो पूरी तरह से सार आधार वर्ग से विधियों को लागू करता है) और यह अभी काम नहीं कर रहा है .. – Gambit2007