Boost :: shared_ptrをWindowsスレッド関数へのポインターとして渡すにはどうすればよいですか?次のコードを想定します:
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によって私の問題を解決しました。このページで自分の答えを確認してください