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

Yukarıdaki örnekte bir hata gösterilmektedir. hatası C2871: 'NS': Bu ada sahip bir ad alanı yok Sayımı tanımlayamadan önce NS'yi tanımlayacağım eğer problemi çözebileceğim. Ancak sadece ad alanının ileriye bildirimi gibi herhangi bir şeyin C++ 'da olup olmadığını bilmek istersiniz. Yukarıdaki problemin sayımı tanımlamaksızın NS'yi tanımlamaksızın çözülecektir. lütfen yardım edin.ad alanı bildirimi

+0

@ user1872084 :: Yukarıdaki bağlantı, sınıfın ileri bildirimi ile ilgilidir. – Kenta

cevap

11

Hiçbir şey bir ad hemen tüm içeriği ihtiyacı olduğunu söyledi:

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

Ancak bu ne istersen yap olmayabilir. Siz onları ilan edene kadar bu ad alanındaki herhangi bir türü kullanamayacaksınız.