当您在命名空间中时,如何为变量指定根命名空间

Bob*_*ait 3 c++

它适用于我:

namespace UnitTesting {class UnitTest_1;}

namespace NLa
{
    class Search
    {
       friend class UnitTesting::UnitTest_1;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果class UnitTest_1不在命名空间中呢?

Jar*_*Par 5

使用::前缀访问全局/未命名的命名空间

friend class ::UnitTest_1;
Run Code Online (Sandbox Code Playgroud)

你的原始样本可以很容易地写成

friend class ::UnitTesting::UnitTest_1;
Run Code Online (Sandbox Code Playgroud)


Mat*_*lia 5

您可以使用以下命令引用全局命名空间中的任何内容:::

class UnitTest_1;

namespace NLa
{
    class SearchSolr
    {
       friend class ::UnitTest_1;
    }
}
Run Code Online (Sandbox Code Playgroud)