名前空間について教えてください。
- a.h -
namespace NS {
class A {};
extern A a;
// aを使って何かする
}
- a.cpp -
#include "a.h"
using namespace NS;
A a;
int main() {
a;
return 0;
}
↑のコードではaが曖昧だとしてコンパイルエラーが出ます。
これについてのC++の仕様などが説明してあるようなところがありますでしょうか?