【发布时间】:2021-07-22 14:37:00
【问题描述】:
我在一个库中有一个类方法(不能改变它),它接受一个双空指针作为它的参数之一。声明如下:
bool Queue::pop(void **packet, int &size, unsigned short &sn)
在我的应用程序代码中,我想向该函数传递一个指向另一种对象的指针,在本例中为GstBuffer 指针类型。如果我将指针转换为(void**),如下面的 sn-p 所示,我似乎可以在没有任何编译器错误的情况下执行此操作,但我怀疑这是否会导致正确的行为。这样转换指针有效吗?
guint16 sn;
int size;
GstBuffer *buf;
Queue *Q = ... // create a Queue instance
Q->pop((void **)&buf, size, sn); // is this conversion valid?
size = gst_buffer_get_size(buf);
【问题讨论】:
标签: c++ pointers casting type-conversion pointer-to-pointer