0

私は変更できないコードベースの機能に取り組んでいます(私が書いているものを保存します)。ここにはいくつかのタイプがあります:

// 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);

基になる型を変更できないというエラーが表示されます。この問題を回避する方法についてのアイデアはありますか?

4

1 に答える 1