如何将 boost::shared_ptr 作为指向 Windows Thread 函数的指针传递?假设以下代码:
test::start()
{
....
_beginthreadex( NULL, 0, &test::threadRun, &shared_from_this(), 0, &threadID );
...
...
}
/*this is a static function*/
UINT __stdcall test::threadRun( LPVOID lpParam )
{
shared_ptr<test> k = *static_cast< shared_ptr<test>* >(lpParam);
...
}
我认为这段代码不正确,你的想法是什么?我怎样才能做到这一点 ?
编辑:我通过 boost::weak_ptr 解决了我的问题。在此页面中检查我自己的答案