我可以这样做:
namespace UnitTesting {class UnitTest_1;}
namespace NLa
{
class Search
{
friend class UnitTesting::UnitTest_1;
}
}
但如果class UnitTest_1
不在命名空间中呢?
答案 0 :(得分:5)
使用::
前缀访问全局/未命名的命名空间
friend class ::UnitTest_1;
您的原始样本可以像
一样轻松编写friend class ::UnitTesting::UnitTest_1;
答案 1 :(得分:5)
您可以仅使用::
来引用全局命名空间中的任何内容:
class UnitTest_1;
namespace NLa
{
class SearchSolr
{
friend class ::UnitTest_1;
}
}
答案 2 :(得分:2)
使用
friend class ::UnitTest_1; // Works on namespace-less classes
或
friend class UnitTest_1; // Works on both namespaced & namespace-less classes