Похоже, что невозможно объявить псевдоним пространства имен внутри класса; однако мы можем сделать это на уровне функции (проверено с помощью g++ 4.3.4):
namespace A
{
}
class C
{
namespace N = A; // error: expected unqualified-id before `namespace'
};
class D
{
void f();
};
void D::f()
{
namespace N = A; // OK
}
Любая идея, почему такое ограничение существует? Это не похоже на typedefs, которые могут быть объявлены внутри класса.