باید به صورت void* نمونه مورد نظر را کست کنید و مجدد از void* به std::shared_ptr کستش کنید به صورت زیر:
void* func1(){
auto instance1 = std::make_shared<Foo>();
return static_cast<void*>(instance1.get());
}
void func2(void* instance1_p){
std::shared_ptr<Foo> instance1((Foo*)instance1_p);
}