如何在命名空间中指定变量的根命名空间
How to specify the root namespace for a variable when you are in a namespace
当我这样做时它就工作了:
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
相关文章:
- 在命名空间 c++ 中正确声明 extern 变量
- 在命名空间中声明变量,在 main 中定义它,使其对所有其他文件可见
- 在命名空间中定义变量
- 初始化命名空间中的变量是否类似于将它们初始化为类成员?
- 如何访问嵌套在命名命名空间中的未命名命名空间变量?
- 命名空间内C++变量声明
- C++从 std::async 函数读取命名空间中的全局变量标志
- 在命名空间中声明变量
- 如何在命名空间中初始化外部变量
- 无法在命名空间范围内分配变量
- 在Visual Studio中生成的匿名命名空间变量的损坏名称的数字部分是什么意思
- C++:.cpp中"Redeclare"外部命名空间变量
- 作用域中定义的变量与注入该作用域的命名空间变量
- Metal - 线程本地的命名空间变量?
- C++VS2010链接器关于命名空间变量的错误
- 如果全局中存在相同的变量,如何访问匿名命名空间变量
- 内联命名空间变量有内部链接吗?如果没有,为什么下面的代码有效
- 静态成员变量和命名空间变量有什么区别?
- 命名空间变量的多重定义,C++编译
- 与命名空间变量进行比较