编译时的冲突问题

梁全 发布于 2009/07/25 11:03
阅读 1K+
收藏 0

我现在希望同时使用两套开源的图形学方面的软件包,他们是openCASCADE和CGAL。

但我在使用中发现下面的问题:

openCASCADE定义了下面的宏

# define   Handle(ClassName)  Handle_##ClassName

-----------------------------------

可是在CGAL中却定义了一个同名的类(注意构造函数)
class Handle
{
  public:
    Handle()
 : PTR(static_cast<Rep*>(0)) {}

....

  protected:
    Rep* PTR;
};

这导致如果同时使用这两个开源的软件包,编译时会发生错误:

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

...

-----------------------------------------

请问有解决办法么?谢谢各位朋友!C++我只是掌握了皮毛

加载中
0
F
FangQi

只要不出现在同一个源文件中就可以,所以可以加一个包装

返回顶部
顶部