Estoy experimentando con C++ 0x threading, parcialmente implementado en gcc 4.5 y tengo un problema, que no puedo entender. Echemos un vistazo a este códigostd :: excepción futura en gcc implementación experimental de C++ 0x
#include <future>
#include <iostream>
int main()
{
std::cout << std::async([]() { return 10; }).get() << std::endl;
}
es bastante simple y debería funcionar, pero no lo es. Se lanza std :: SYSTEM_ERROR
terminar el arrendamiento llama después de lanzar una instancia de 'std :: SYSTEM_ERROR' lo que(): abortada
lo que() devuelve una cadena vacía, así que no hay error información en absoluto. Más que eso, no estaba funcionando en el compilador en línea, que también usa gcc 4.5, pero ahora funciona. Puede verlo aquí http://liveworkspace.org/code/f3003d62a758e047a880920c84f1241c pero ayer arrojaba la misma excepción (aunque no se han realizado cambios en el servidor). ¿Sabes cuál es el problema?
Gracias.
¿Qué versión está usando exactamente? –
gcc versión 4.5.0 (GCC) – confucius