Скажем, у меня есть функция с привязкой "C" в глобальной области.
extern "C" int fun(int);
Затем, если я хочу сделать его видимым в пространстве имен, я бы сделал:
namespace foo {
using ::fun;
}
Но после этого я все еще могу назвать его ::fun(0) в дополнение к foo::fun(0).
Итак, мой вопрос заключается в том, есть ли способ запретить вызов из глобального пространства имен для функции fun и разрешить его только из namespace foo?