Я экспериментирую с потоком С++ 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 но вчера он выбрал одно и то же исключение (хотя на сервере никаких изменений не было). Вы знаете, в чем проблема?
Спасибо.