有一些函数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());
如何将其转换为 arg of g_timeout_add(.., void*)
?