स्थानीय कॉलेज में रात के पाठ्यक्रम से सी # पृष्ठभूमि से आ रहा है, मैंने सी ++ में अपना रास्ता शुरू कर दिया है। वाक्यविन्यास में बहुत दर्द हो रहा है। कोडिंग तकनीकों की बात आती है जब भी मैं अभी भी बहुत हरा हूं।मैं कोड के किसी अन्य भाग में कक्षा से एनम मान का उपयोग कैसे करूं?
मेरे WinMain
फ़ंक्शन से, मैं एक वेरिएबल तक पहुंचने में सक्षम होना चाहता हूं जो कि किसी अन्य वर्ग में घोषित एनम का उपयोग कर रहा है।
(inside core.h)
class Core
{
public:
enum GAME_MODE
{
INIT,
MENUS,
GAMEPLAY
};
GAME_MODE gameMode;
Core();
~Core();
...OtherFunctions();
};
(inside main.cpp)
Core core;
int WINAPI WinMain(...)
{
... startup code here...
core.gameMode = Core.GAME_MODE.INIT;
...etc...
}
मूल रूप से मैं अपने WinMain
समारोह से enum या ऐसा Init
का मूल्य कुछ करने के लिए है कि gamemode सेट करना चाहते हैं। मैं इसे अन्य क्षेत्रों से भी पढ़ने में सक्षम होना चाहता हूं।
मैं त्रुटि मिलती है ...
expected primary-expression before '.' token
मैं तो मैं एक ही त्रुटि मिलती है core.gameMode = Core::GAME_MODE.INIT;
इस्तेमाल करने की कोशिश, तो।
मैं सर्वोत्तम प्रथाओं के बारे में चिंतित नहीं हूं, क्योंकि मैं फ़ाइलों के बीच सी ++ में चर के चारों ओर घूमने की बुनियादी समझ प्राप्त करने की कोशिश कर रहा हूं। मैं यह सुनिश्चित कर दूंगा कि वेरिएबल की लचीलापन के लिए उपयोग किए जाने के बाद चर को संरक्षित किया जाता है और बाद में अच्छी तरह से टकरा जाता है।
अगर मैं सही ढंग से याद, सी # मुझे अन्य वर्गों से Enums उपयोग करने की अनुमति है, और सभी मैं करना था Core.ENUMNAME.ENUMVALUE
की तरह कुछ था।
मुझे आशा है कि मैं जो करना चाहता हूं वह स्पष्ट है: \ जैसा कि मुझे नहीं पता कि सही शब्दावली कितनी है।
मीठे काम किया! कि :) के लिए धन्यवाद अब मैं वहाँ Enums अलग-अलग नामों के लिए अगर वे एक ही नाम स्थान – ChiggenWingz
@ChiggenWingz में हैं की आवश्यकता होगी, के बारे में इतने सारे विषय हैं देख सकते हैं: अच्छा अवलोकन - C++ 0x की प्रबलता से टाइप किये enums में मदद मिलेगी यह संबंध (और मैंने इस पर चर्चा करने के लिए उत्तर अपडेट किया है)। –