c++ - using namespace issue -
जब मैं निम्नलिखित का उपयोग करता हूँ
#include & lt; map & gt; नेमस्पेस एलसीडी कंट्रोलोल का उपयोग करना;
एसटीडी नेमस्पेस का कोई भी संदर्भ एलसीडी नियंत्रण नाम स्थान से जुड़ा होता है।
उदाहरण के लिए:
Generic.h : 24 9: त्रुटि: 'नक्शा' एलसीडीसीटोलोल :: एसटीडी '' का सदस्य नहीं है
मैं इसे कैसे प्राप्त करूं? मैंने किसी भी प्रलेख को देखा जो मैंने देखा था। उनमें से ज्यादातर ने उपयोग नहीं करने का निश्चय किया: नाम स्थान का उपयोग करके std;।
यहां पंक्ति 24 9:
के लिए (std :: map & lt; std :: string, widget * & gt; :: इटरेटर w = विगेट्स_.बीजिन ();
ऐसा लगता है कि एक < std
नामस्थान को छुपा रहा है, जो एलसीडीसीएन्ट्रोल
के भीतर कोड> एसटीडी नामस्थान। :: std :: map
के बजाय Std :: map
।
मैं कहूंगा कि या तो नामस्थान std
का उपयोग कर कहीं से LCDControl
नाम स्थान में हो सकता है, या संभवतः वहां एक #include
एक एसटीएल हेडर के std
को LCDControl
नाम स्थान में परिभाषित करता है।
उदाहरण:
< नाम स्थान एलसीडीसीनट्रॉल {#include & lt; map & gt;}
, जो बदले में वैश्विक
के सभी भागों को परिभाषित करेगा। LCDControl :: std std
को छुपाएगा, या कम से कम किसी भी प्रतीक को परिभाषित किया जाएगा आंतरिक नाम स्थान में, मुझे यकीन नहीं है।
जब मैंने वीएस 2008 के तहत इसे करने की कोशिश की, मुझे एक त्रुटि मिली:
नामस्थान testns {int x = 1; } नामस्थान हैडर {नामस्थान testns {int x = 2; }} Int y = testns :: x; नेमस्पेस हैडर का उपयोग करना; Int z = testns :: x; // & lt; = त्रुटि C2872: 'testns': अस्पष्ट प्रतीक
Comments
Post a Comment