【发布时间】:2016-03-02 12:10:28
【问题描述】:
我想通过一个实例来解释我的问题。我正在使用第三方库,有自己的命名空间。我想导入这个库的一部分,在下面提到的命名空间中有自己的命名空间。
namespace library {
namespace part {
}
}
当前项目中还有一个层次结构。我想用另一个名称将 library::part 导入并扩展到我的项目中。我尝试如下:
#include <library/part>
namespace project {
namespace my_part = library::part;
}
namespace project {
namespace my_part {
void my_extension_1();
void my_extension_2();
}
}
这个场景可以用目前的语言工具来完成吗?如果没有,应该如何解决?还是不行,为什么?
编辑:错误消息 gcc 5.3.0 转储:
错误:命名空间“project::my_part”的声明冲突
编辑:有一个关于扩展原始命名空间的建议,但我要求。 library::part 用户不应直接访问我添加的功能。
【问题讨论】:
标签: c++ c++11 namespaces c++14 c++17