我目前正在编写一个3D可视化程序,所以我编写了自己的Vector3类来进行一些方便的矢量操作。这工作正常,直到我需要加载一些我使用外部库的Meshes,它有自己的Vector3类。现在编译器无法区分它们,我无法更改它们,因为它们包含在代码中。 有谁知道如何为编译器分离它们?
我考虑过围绕包含加载器创建命名空间,但在库实现中遇到错误。
任何想法都将不胜感激。
修改 不幸的是,我自己的项目以及库没有自己的命名空间。
(适用解决) 好吧,我通过删除库并使用eclipse自动重构我的代码来解决这个问题。但是,如果它无法做到这一点,我怎么能在独立于IDE的C ++中解决这个问题呢? - >未标记为已回答
答案 0 :(得分:7)
编辑不幸的是我自己的项目以及库没有自己的命名空间。
解决方案很明显。将项目放在命名空间中。如果它真的没有任何命名空间,请使用:: Vector3引用库中的Vector3。
答案 1 :(得分:0)
在您创建的类名及其内置类之前使用项目命名空间。 像:
MyProject的::的Vector3D
XXX ::的Vector3D
其中'xxx'是内置Vector3D类所在的命名空间。