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

Popular posts from this blog

ios - Form Sheet content disappearing -

MySql variables and php -

c++ - an enclosing-function local variable cannot be referenced in a lambda body unless if it is in capture list -