C++11 如何在另一个名称空间中使用一个名称空间的指针?两个名称空间都在另一个类中使用
下面是我们面临的问题的示例代码 文件1.h 文件2.h newfile.cpp 有了以上信息,我将得到错误:C++11 如何在另一个名称空间中使用一个名称空间的指针?两个名称空间都在另一个类中使用,c++11,namespaces,C++11,Namespaces,下面是我们面临的问题的示例代码 文件1.h 文件2.h newfile.cpp 有了以上信息,我将得到错误: 对名称2的未定义引用::\u测试 如果我在name2中添加extern,我会得到错误: _测试不明确您遇到的问题是正在使用的名称空间之间的符号冲突。 这是样式指南中使用的一个典型示例,它禁止使用名称空间 不包括整个名称空间,您可以使用NS::作为标识符的前缀,例如:name1::\u test 或者,可以通过使用:使用NS::Identifier有选择地使用命名空间中的元素。然而,我从来
对名称2的未定义引用::\u测试 如果我在name2中添加extern,我会得到错误:
_测试不明确您遇到的问题是正在使用的名称空间之间的符号冲突。 这是样式指南中使用的一个典型示例,它禁止
使用名称空间
不包括整个名称空间,您可以使用NS::
作为标识符的前缀,例如:name1::\u test
或者,可以通过使用:使用NS::Identifier
有选择地使用命名空间中的元素。然而,我从来没有发现自己处于一种需要在全球范围内工作的情况,所以不知道这是否有效
一条建议:不要使用全局变量,将指针或引用作为函数的参数传递更容易维护
namespace name1
{
extern name1::test* _test;
}
namespace name2
{
class toolbox
{
int fun()
{
return _test->test();
}
}
}
using namespace name1;
using namespace name2;
int newclass::new()
{
return _test->test();
}