6
スマートポインタをブーストするcan be used with polymorphismしかし、サブクラスをどのようにポインタにキャストするのですか?polymorphismでboost :: smart_ptrを使うには?
using namespace boost;
// ...
shared_ptr<SuperClass> a_ptr(new SubClass);
// ...
shared_ptr<SubClass> b_ptr = (shared_ptr<SubClass>)a_ptr; // Doesn't compile
最後の行が後押し 'から 'error C2440: 'type cast' : cannot convert from 'boost::shared_ptr
<T>
をコンパイルし、与えていない:: shared_ptrの<T>
'
私は 'dynamic_pこの場合はointer_cast'、そうですか? – Philipp
コンパイル時に型が<>で指定された型であるかどうかが不明な場合。それ以外の場合はboost :: static_pointer_castを使用してください。 –