パラメータとして使用する関数がいくつかありますがvoid *
、この場合にスマートポインタを渡す方法は?
たとえば、私は
gboolean callback(gpointer arg); // might delete arg when it finish
A *mydata = new A();
gpointer parg = (gpointer)mydata;
g_timeout_add(100, callback, parg);
ここでスマート ポインターを使用するとどうなりますか。
std::shared_ptr<A> mydata(new A());
の引数に変換する方法はg_timeout_add(.., void*)
?