Lua 用の C++/OOP ラッパーを作成しています。私のコードは次のとおりです。
class LuaState
{
boost::shared_ptr<lua_State> L;
LuaState(): L( luaL_newstate(), LuaState::CustomDeleter )
{
}
}
問題は lua_State が不完全な型であり、shared_ptr コンストラクターが完全な型を必要とすることです。そして、安全なポインタ共有が必要です。(面白いことに、ブーストのドキュメントでは、ほとんどの関数は完全な型を必要としないと書かれていますが、コンストラクターは完全な型を必要とするため、それを使用する方法はありません。http://www.boost.org/doc/libs/1_42_0/libs/smart_ptr/smart_ptr.htm )
これを解決できますか?ありがとうございました。