Как использовать boost :: smart_ptr в полиморфизме?

Интеллектуальные указатели 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 '

6
задан Community 23 May 2017 в 12:18
поделиться