在文件中有一个匿名命名空间和一个命名空间。匿名命名空间有一些内部函数,不应该公开,命名空间有一些需要访问的重载函数。
//test.cpp
namespace
{
void func() {}
void crazy()
{
func(a);
}
}
namespace useful
{
void func(int a)
{
//something
}
}
有人可以建议我如何访问下面写的命名空间吗?可以从匿名命名空间访问命名命名空间的函数吗?
答案 0 :(得分:1)
您可以在使用和定义之前在相关命名空间中声明:
//test.cpp
namespace useful {
void func(int);
}
namespace
{
void func() {}
void crazy()
{
useful::func(3);
}
}
namespace useful
{
void func(int a)
{
//something
}
}