Вот этот код кричит как ни пытаюсь, shared_ptr<int> в shared_ptr<void> откастилось, а вот обратно никак...
boost::shared_ptr<int> g(new int(5));
boost::shared_ptr<void> f(g);
boost::shared_ptr<int> g2(f); // error C2664: 'boost::shared_ptr<T>::shared_ptr(const boost::shared_ptr<T> &)' : cannot convert parameter 1 from 'boost::shared_ptr<T>' to 'const boost::shared_ptr<T> &'
g = boost::shared_ptr<int>(f); // error C2440: '<function-style-cast>' : cannot convert from 'boost::shared_ptr<T>' to 'boost::shared_ptr<T>'
f = boost::shared_ptr<void>(g);
g = f; // error C2440: '<function-style-cast>' : cannot convert from 'const boost::shared_ptr<T>' to 'boost::shared_ptr<T>' c:\program files\boost\boost_1_39_0\boost\smart_ptr\shared_ptr.hpp 305
Как это сделать правильно ?