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