2012-12-31 17 views
8
namespace CounterNameSpace { 
    int upperbound; 
    int lowerbound; 
    using namespace NS;//Error 
} 
namespace NS { 
int i; 
} 
// ... 
namespace NS { 
int j; 
} 

उपरोक्त मामले में यह एक त्रुटि दिखाता है। त्रुटि C2871: 'एनएस': इस नाम के साथ एक नामस्थान मौजूद नहीं है मुझे पता है कि अगर मैं काउंटरस्टेस्पेस समस्या हल हो जाने से पहले एनएस को परिभाषित करता हूं। लेकिन सिर्फ यह जानना है कि नामस्थान की अगली घोषणा जैसे किसी भी चीज सी ++ में मौजूद है या नहीं। इसलिए उपर्युक्त समस्या को काउंटरनामस्पेस से पहले एनएस परिभाषित किए बिना हल किया जाएगा। कृपया मदद करें।नामस्थान

+0

@ user1872084 :: उपरोक्त लिंक कक्षा की आगे की घोषणा से संबंधित है। – Kenta

उत्तर

11

कुछ भी नहीं कहना है एक namespace उसकी सारी सामग्री को तुरंत जरूरत है:

namespace NS {} 
namespace CounterNameSpace { 
    int upperbound; 
    int lowerbound; 
    using namespace NS; 
} 
namespace NS { 
int i; 
} 

बहरहाल, यह आप क्या चाहते हैं नहीं कर सकता है। आप तब तक उस नामस्थान में किसी भी प्रकार का उपयोग करने में सक्षम नहीं होंगे जब तक कि आपने उन्हें घोषित नहीं किया हो।