如何在命名空间中指定变量的根命名空间

How to specify the root namespace for a variable when you are in a namespace

本文关键字:命名空间 变量      更新时间:2023-10-16

当我这样做时它就工作了:

namespace UnitTesting {class UnitTest_1;}
namespace NLa
{
    class Search
    {
       friend class UnitTesting::UnitTest_1;
    }
}

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

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

friend class ::UnitTest_1;

你的原始样本可以像一样容易地书写

friend class ::UnitTesting::UnitTest_1;

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

class UnitTest_1;
namespace NLa
{
    class SearchSolr
    {
       friend class ::UnitTest_1;
    }
}

使用

friend class ::UnitTest_1; // Works on namespace-less classes

friend class UnitTest_1; // Works on both namespaced & namespace-less classes