【发布时间】:2019-01-26 06:17:43
【问题描述】:
我想在我的项目中使用an available public code 评估算法。我已将算法所需的files 集成到我的项目中:kodtree.h、kodtree.cpp、pinpolyhedron.h 和pinpolyhedron.cpp。但是,编译器抱怨不明确的符号。我将不明确的变量名称更改为其他名称,编译器可以毫无问题地对其进行编译。这种方式看起来不像是解决问题的优雅方式。
我正在考虑使用namespace,但发现例如文件kodtree.h 有几个externs。
- 将它们放入
namespaces 是否会给我带来麻烦,因为它们可以包含extern? - 谁能告诉我在为此类库创建命名空间时应该注意的事项?
- 使用
namespace是正确的做法吗? - 或者最好为这个库创建一个接口类并将所有内容(即
kodtree.h、kodtree.cpp、pinpolyhedron.h和pinpolyhedron.cpp)放在该类中并将它们设为私有? - 推荐的方法是什么?
如果有任何提示,我将不胜感激。
【问题讨论】:
-
什么是模棱两可的符号?实际上,只有在您过度使用
using或者您有更多代码在全局命名空间中声明内容时才会发生这种情况 -
@user463035818 我删除了
using并将typedef double Box中的符号Box更改为BOX
标签: c++ class namespaces extern