Я экспериментирую с многопоточностью C ++ 0x, частично реализованной в gcc 4.5, и у меня возникла проблема, которую я не могу понять. Давайте посмотрим на этот код
#include <future>
#include <iostream>
int main()
{
std::cout << std::async([]() { return 10; }).get() << std::endl;
}
это довольно просто и должно работать, но это не так. Выдает std :: system_error
прекращение вызова после выброса экземпляра 'std :: system_error'
какие():
Отменено
what () возвращает пустую строку, поэтому информации об ошибках вообще нет. Более того, он не работал над онлайн-компилятором, который также использует gcc 4.5, но теперь он работает. Вы можете видеть это здесь
http://liveworkspace.org/code/f3003d62a758e047a880920c84f1241c
но вчера было выброшено то же исключение (хотя на сервере не было сделано никаких изменений). Вы знаете, в чем проблема?
Спасибо.