代码摘要:
需要将相机对象从 TestCamera.cpp 传递到 Test1.cpp。 我在 TestCamera.cpp 中创建了一个类对象 现在,我想将它传递给 Test1,所以我将它传递给另一个对象。
无论如何,我在 Test1.cpp 中收到“Camera*”错误。
我是 CPP 的新手。这是传递另一个类并打印它的指针值的完美方式吗?
TestCamera.cpp
Camera * cameraClient=static_cast<Camera *>();
(Test1 *)->captureImage(*cameraClient*);
Test1.cpp
int Test1::captureImage(const Camera* Cam) {
jint lResult;
jlong ad = (jlong)&Cam;
LOGI("Test1: pointer : APP: %ld",ad);
最佳答案
我没有得到你的全部代码,只是提示你传递错误的方式..
你需要像这样通过:
(Test1 *)->captureImage(cameraClient);
但是,我怀疑你没有为 cameraClient 分配内存。
下面是额外的建议,这不是你的问题:
在C++中,当你想动态创建一个类的对象时,你需要使用new分配内存,如下所示:
Camera * cameraClient= new Camera;
实例化 Camera 类,如果 Test1 类已经实例化,则将其传递给 CaptureImage..
关于c++ - 打印引用类的指针地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35979994/