我正在为 Lua 编写一个 C++/OOP 包装器。我的代码是:
class LuaState
{
boost::shared_ptr<lua_State> L;
LuaState(): L( luaL_newstate(), LuaState::CustomDeleter )
{
}
}
问题是 lua_State 是不完整的类型,而 shared_ptr 构造函数需要完整的类型。我需要安全的指针共享。(有趣的是 boost 文档说大多数函数不需要完整的类型,但构造函数需要,所以没有办法使用它。http://www.boost.org/doc/libs/1_42_0/libs/smart_ptr/smart_ptr.htm )
我能解决这个问题吗?谢谢你。