3

私は自分のバグの 1 つをこの小さなスニペットに突き止めましたが、なぜそれが機能しないのか理解できません。

#include <future>

int main()
{
    int ret = 0;

    std::future<int> parseSentence = std::async(std::launch::async, []() { return 3;} );
    ret = parseSentence.get();  

    return ret;
}

コードは機能しますが、helgrind は競合状態が発生していることを発見しました。ログが少し長いので、ここにある別のファイルに置きました。

ここで私が間違っていることを誰かに教えてもらえますか?

4

1 に答える 1

4

コードは正しいので、競合状態がある場合は、futureまたはそのコンパニオンの実装にあります。

于 2012-08-30T21:38:45.990 に答える