exceção std :: future na implementação experimental gcc do C ++ 0x
Estou experimentando o encadeamento C ++ 0x, parcialmente implementado no gcc 4.5 e tenho um problema que não consigo entender. Vamos dar uma olhada neste código
#include <future>
#include <iostream>
int main()
{
std::cout << std::async([]() { return 10; }).get() << std::endl;
}
é bastante simples e deve funcionar, mas não é. Ele lança std :: system_error
finalize chamado após lançar uma instância de 'std :: system_error' what (): Abortado
what () retorna uma string vazia, portanto não há informações de erro. Mais do que isso, ele não estava funcionando no compilador online, que também usa o gcc 4.5, mas agora funciona. Você pode vê-lo aquihttp://liveworkspace.org/code/f3003d62a758e047a880920c84f1241c mas ontem estava lançando a mesma exceção (porém, nenhuma alteração foi feita no servidor). Você sabe qual é o problema?
Obrigado.