Интеллектуальные указатели Boost можно использовать с полиморфизмом , но как вернуть подкласс обратно к указателю?
using namespace boost;
// ...
shared_ptr a_ptr(new SubClass);
// ...
shared_ptr b_ptr = (shared_ptr)a_ptr; // Doesn't compile
Последняя строка не компилируется и выдает ошибку C2440 : 'type cast': невозможно преобразовать из 'boost :: shared_ptr
' в 'boost :: shared_ptr
'