Ответ 1
using namespace X;
называется с использованием директивы, и он может отображаться только в пространстве имен и области функций, но не в классе. То, что вы пытаетесь сделать, невозможно в С++. Лучшее, что вы можете сделать, это написать директиву using в пространстве имен этого класса, что может быть нежелательно.
Во-вторых, подумав, анализируя ваши слова,
Предположим, что у вас есть класс С++. И там пространство имен, которое должно быть видимый только внутри моего класса. Что для этого нужно сделать?
Я бы предложил что-то вроде следующего, что я не уверен, что вы хотите.
class A
{
public:
void Method1();
void Method2();
void Method3();
private:
class B
{
//public static functions here, instead of namespace-scope
// freestanding functions.
//these functions will be accessible from class A(and its friends, if any)
//because B is private to A
};
};