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