8
我可以將boost shared_ptr
轉換爲void*
並返回boost::shared_ptr
?我需要這個,因爲我需要將共享指針和回調函數傳遞給在C中實現的定時器函數。在回調函數中,我需要將void*
指針轉換回boost:shared_ptr
。這樣做給了我錯誤。將boost shared_ptr轉換爲void *,反之亦然
我試過與示例程序相同。
#include <iostream>
#include <boost/shared_ptr.hpp>
using namespace std;
class A
{
public:
void f1() { cout<<"function f\n"; }
inx aa;
private:
};
void f2 (void *arg) {
boost::shared_ptr<A> b = (boost::shared_ptr<A> *)(arg); //How to do this
}
int main()
{
boost::shared_ptr<A> a (new A());
//void * ptr = (void *) &a;
f2((&a));
return 0;
}
這可以用boost::shared_ptr
完成嗎?
:)非常感謝 – punith 2011-05-10 11:22:50