私は変更できないコードベースの機能に取り組んでいます(私が書いているものを保存します)。ここにはいくつかのタイプがあります:
// Pointer to a mutable thingy
typedef boost::shared_ptr<Thingy> MPtr;
// Pointer to an immutable thingy
typedef boost::shared_ptr<const Thingy> Ptr;
ここで、タイプ Ptr のオブジェクトに割り当てる必要があるタイプ MPtr のオブジェクトがありますが、できません (コンパイラーは可能な変換がないことを教えてくれます)。const_cast を使用しても役に立たないようです。
MPtr foo = const_cast<MPtr*>(moo);
基になる型を変更できないというエラーが表示されます。この問題を回避する方法についてのアイデアはありますか?