Eksperymentuję z wątkami w C++ 0x, częściowo zaimplementowanymi w gcc 4.5 i mam problem, którego nie mogę zrozumieć. Rzućmy okiem na ten kod:std :: przyszły wyjątek na eksperymentalnej implementacji gcc C++ 0x
#include <future>
#include <iostream>
int main()
{
std::cout << std::async([]() { return 10; }).get() << std::endl;
}
To całkiem proste i powinno działać, ale tak nie jest. To rzuca std :: system_error
terminate nazywany po wrzuceniu instancję 'std :: system_error' co(): Przerwano
co() zwraca pusty ciąg znaków, więc nie ma błędu informacje w ogóle. Co więcej, nie działał on na kompilatorze online, który również korzysta z gcc 4.5, ale teraz działa. Możesz go zobaczyć tutaj: http://liveworkspace.org/code/f3003d62a758e047a880920c84f1241c , ale wczoraj był to ten sam wyjątek (chociaż na serwerze nie wprowadzono żadnych zmian). Czy wiesz, jaki jest problem?
Dzięki.
Dokładnie jakiej wersji używasz? –
gcc wersja 4.5.0 (GCC) – confucius