たとえば、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;
ここで、itemstartはmmapの戻り値を保持します。
shmは、アドレスがvoid**型のパラメータオブジェクトです。
今、私が発信者に戻ったとき、item.start
変化の値は(でshm->address
)...
申し訳ありませんが、ポインタとは関係のないバグを見つけました。このスレッドを削除できますか?質問はもう意味がないからです。(関数呼び出し間でダブルポインターを渡すCarlosの方法は私を助けた良いアイデアですが、私はそれを回答済みとしてマークしました)。