boost shared_ptr
'u void*
'a dönüştürebilir ve boost::shared_ptr
'a dönebilir miyim? Buna ihtiyacım var çünkü paylaşılan işaretçiyi ve geri çağırma fonksiyonunu C dilinde uygulanan bir zamanlayıcı fonksiyonuna aktarmam gerekiyor. Geri aramada iseişaretçisini tekrar boost:shared_ptr
'a çevirmem gerekiyor. Bunu yapmak bana hata verdi.boost shared_ptr öğesini void * 'e çevirme ve tersi
Örnek bir programda da denedim.
#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;
}
Bu, boost::shared_ptr
ile yapılabilir mi?
:) çok teşekkürler – punith