私はヒープ上に作成することができないクラスを持っており、それは専用のデストラクタを持っています。ポインタからのshared_ptr
しかし、このような構成オブジェクトへのポインタを返す関数があります。私はそれから共有ポインタを作りたい:
MyClass *GetMyClassPointer() {...}
boost::shared_ptr<MyClass> ptr;
ptr = boost::shared_ptr<MyClass>(GetMyClassPointer()); // [x]
error: ‘MyClass::~MyClass()’ is private
任意の方法?
クラスのセマンティクスについて詳しく説明してください。クラスはシングルトンを実装している可能性があります。答えが 'shared_ptr'をまったく使用すべきでないということです。クラスは、オブジェクトを同じものに戻す必要があるファクトリまたはメモリプールを実装している可能性があります工場の...答えはあなたが質問に表示されていない情報に依存します。 –