c++ - 打印引用类的指针地址

标签 c++ c pointers java-native-interface

代码摘要:

需要将相机对象从 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/

相关文章:

c++ - 转发右值引用的适当方式

c - 为什么作为位域一部分的枚举值需要从 unsigned char 到枚举类型的(隐式)类型转换?

c - 如何为同一 autotools 项目中的两个程序设置不同的构建选项

c - 为什么在反转主函数参数位置时编译仍然有效

c++ - 从类型 'delai_assemblage*&' 的表达式对类型 'delai_assemblage' 的引用的初始化无效

c - 将格式化输出发送到 C 中的字符数组元素

c++ - 使用基类的派生类中定义的类型

c++ - clang-format 堆栈所有 if 语句参数(如果它们太长)

c++ - 获取有关函数地址的信息

c - 为什么这个类似的函数不会抛出相同的错误?