私は単純なラムダを内部にasyncと呼んでいます。しかし、それはsystem_errorを与えます。何も返されないlambdasでasyncを使用するには?
#include<future>
#include<iostream>
int main()
{
auto a = std::async([]()
{
std::cout << 42 << std::endl;
});
a.get();
return 0;
}
コンパイラ:C++ 0xの(GCC-4.5.1)
任意のアイデア?
これはちょうどGCC 4.5のバグのようです。あなたのコードは有効なAFAICTであり、clang(トランク)で動作します。 – bames53
GCC 4.6.1でも試しました。同じエラー。 -pthreadでコンパイルすると、うまく動作します。 – balki
@ bames53 clang trunkはコードガンダムをコードすることができますか? –