Aşağıdaki programı göz önünde bulundurun. o C++ standardına uygun olarak iyi biçimlenmiş ya da değil mi (standardın ilgili bölümlerine yapılan atıflar gerekli):İsim-alanı bildirimi kullanılarak ad alanı üyesi tanımlanmaya çalışılıyor
namespace X { extern int i; }
namespace N { using X::i; }
int N::i = 1;
int main() {}
farklı derleyiciler için farklı sonuçlar alıyorum.
Clang: Ben bir hata raporu gerektiğini derleyici için anlamaya çalışıyorum 'N'
GCC 'i' ad alanında adında bir üyeyi: Aşağıdaki derleyici hata verir ve Visual C++, hataları olmadan derler. Karşılaştırma için
şu üç derleyiciler ile derleyici hata verir:
namespace X { void f(); }
namespace N { using X::f; }
void N::f() {};
int main() {}
Funny, VS2013 derler ama IntelliSence diyor ki "Hata: namespace" N "'nin gerçek bir üyesi yok" i "' – AlexD
Bence cevap burada: [link] (http://stackoverflow.com/questions/6175705/ad-kapsam-içinde-beyan-içinde-bir-isim-alanı) – Jorj
@Supremum https://isocpp.org/std/the-standard adresinde okumak için C++ standardının kopyasını alabilirsiniz. – Coder