我有一个自由函数,foo定义在命名空间 N 中。 的标头foo位于全局包含搜索路径中,因此任何人都可以通过包含来调用它foo.h。
foo调用另一个本地的自由函数 ,foo1它在 中定义foo.cpp。
// foo.h
namespace N
{
void foo();
}
// foo.cpp
#include "foo.h"
namespace
{
// declare in the unnamed namespace?
void foo1()
{
// do some stuff
}
}
namespace N
{
// declare in namespace N?
void foo1()
{
// do some stuff
}
void foo()
{
foo1();
}
} // N
我应该放入foo1未命名的命名空间还是放入namespace N?还是没关系?
更新
我想限制 to 的foo1范围foo.cpp。