完了時にラムダを渡して実行したい未来がありますが、ラムダが実行されるまでにスコープが変更されます。取得した値はどうなりますか? 例えば
bool* MakeThen(Concurrency::completion_future& future)
{
bool * isFinished = new bool(false);
future.then([=](){ *isFinished = true; });
return isFinished;
}
ラムダが実際に実行されるまでに、関数は終了している可能性があります。それで何が起こるでしょうか?一連の変数をバインドするのと同じように、値でキャプチャしていますか?