0

在结合 boost、一个演示项目和另一个库时,我的定义遇到了问题。

拥有一个 X.cpp 文件,包括一个类 X,我需要将这个类用于 Y.cpp 中的一个变量,以将一个 void 指针转换为指向这个类的指针。

在代码中:

X.cpp

#include <boost/...>

class x {
}

Main(){
  x c(...);
  handler = init(&c);
  anotherLib-Function(void *handler); 
  //will call function in Y.cpp with c as void pointer
}

Y.cpp

#include ?!!

yfunction(void *c){
  x *cHandle;
  *cHandle = (x *)c;
  (*cHandle).write("texte");
}

这就是它上次的工作方式——有点。对于这个凌乱的结构或任何使该代码更好/工作的东西,我将非常感谢一个可靠的解决方案。谢谢!

4

2 回答 2

2

如果您只需要指向 X 的指针或引用,您还可以在Y.cpp.

于 2012-09-06T08:22:34.157 回答
0

将 X 文件拆分为包含类声明的头文件 (Xh) 和包含类构造函数、方法等定义的源文件 (X.cpp)。现在将头文件包含在您的 Y.cpp 文件中。然后像这样编译:

g++ Y.cpp X.cpp
于 2012-09-06T08:21:50.050 回答