我创建了一个 void** p2 变量,例如
int x = 10;
void* p = &x;
void** p2 = &p;
这是在函数中创建的。我怎样才能使用参数或返回值,以 p2 和 * p2 都保持其精确值的方式传递这个 p2。我没有成功找到任何解决方案。请给我一个简短的例子,任何事情都可以。
也许一些细节会有所帮助:
class ShmItem
{
public:
void* start;
void** vtable;
};
这个类是全局的,它是全局向量的一部分。现在在我的职能中。
item.vtable = &item.start;
shm->address = item.vtable;
其中 item start 保存 mmap 的返回值。
shm 是一个参数对象,其中地址的类型为 void**。
现在,当我返回调用者时,item.start
更改的值(在 中shm->address
)...
对不起,我发现了这个与指针无关的错误。我可以删除这个线程吗?因为这个问题已经没有意义了。(虽然 Carlos 在函数调用之间传递双指针的方式是一个好主意,对我有帮助,所以我将其标记为已回答)。