پاسخ داده شده: export اشاره گر هوشمند از کتابخانه c++
شما نمی تونید اشاره گر معمولی را به std::shared_ptr کست کنید برای اینکار بهتر که اطلاعات را توی std::map نگهداری و دوباره بهش دسترسی داشته باشید.
static std::map<void*,std::shared_ptr<Foo>> instances;
void* func1(){ auto instance1 = std::make_shared<Foo>(); instances[instance1.get()] = instance1; retu static_cast<void*>(instance1.get()); }
void func2(void* instance1_p){ std::shared_ptr<Foo> instance1 = instances[instance1_p];
}
