ライブラリは、不透明なデータ型を定義します。
struct OpaqueStruct;
また、クライアント コードは を取得して解放する必要がありOpaqueStruct*
ます。ライブラリ ソースにアクセスできます。
残念ながら、そのポインターを保存することshared_ptr
もunique_ptr
できず、
エラーが発生します: 'sizeof' から incomplete type への無効なアプリケーションです。
私が考えることができる最善の方法は、この投稿からfinally ガード を借りることです。
不透明な構造体ポインタに RAII を使用するにはどうすればよいですか?