一个cpp中的类定义如何对另一个cpp可见/可用
How can a class definition in one cpp be visible/usable to another cpp
在组合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");
}
这就是上次的工作方式——有点像。我非常感谢为这个混乱的结构或任何使代码更好/工作的东西提供一个坚实的解决方案。谢谢
如果只需要指向X的指针或引用,也可以在Y.cpp
中使用类X的前向声明。
将X文件拆分为包含类声明的头文件(X.h)和包含类构造函数、方法等定义的源文件(X.cpp)。现在将头文件包含在您的Y.cpp文件中。然后以某种方式编译如下:
g++ Y.cpp X.cpp
相关文章:
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- C++代码以测试另一个.cpp如果可以编译它
- 从另一个 cpp 文件更改结构内、映射键内的变量
- C++ .h 包含从一个类传递到另一个类的类和.cpp
- 如何在另一个 CPP 文件中使用一个 cpp 文件中的函数?
- 无法"this"指针传递到另一个类并在 CPP 中调用该类的任何方法
- 在模板化的 Rcpp 函数中调用另一个 cpp 函数
- 使用命名空间在另一个".cpp"文件中定义
- AMQP-CPP,libev >停止ev_loop来自另一个线程
- System Verilog DPI - 在 cpp 中运行并行线程,在 SV 中运行另一个并行线程
- 如何在另一个.cpp文件中调用一个.cpp文件中的函数
- 从另一个.cpp文件启动.cpp文件
- 如何使用 c++ 从另一个 cpp 文件中的 main.cpp 调用实例化类
- CPP 控制台,关闭时,打开另一个 cpp 文件
- 如何 G++ 编译另一个目录中具有依赖项的.cpp文件
- 如何从QT中的另一个CPP文件中访问CPP文件中的变量
- 如何访问与另一个类不同的类的 cpp 文件的成员函数
- 在 android ndk 中的同一.cpp文件上调用另一个 C++ 函数
- 在另一个.cpp文件中调用的编写函数
- 从另一个CPP文件访问Form1的文本框,Visual C 2010