#include <iostream>
#include <future>
int main()
{
std::future<int> empty;
try {
int n = empty.get();
} catch (const std::future_error& e) {
const std::error_code eCode = e.code();
char *sValue = (char*)e.what();
std::cout << "Caught a future_error with code " << eCode.message()
<< " - what" << sValue << std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnV0dXJlPgppbnQgbWFpbigpCnsKc3RkOjpmdXR1cmU8aW50PiBlbXB0eTsKICAgdHJ5IHsKICAgICAgIGludCBuID0gZW1wdHkuZ2V0KCk7CiAgIH0gY2F0Y2ggKGNvbnN0IHN0ZDo6ZnV0dXJlX2Vycm9yJiBlKSB7CiAgICAgIGNvbnN0IHN0ZDo6ZXJyb3JfY29kZSBlQ29kZSA9IGUuY29kZSgpOwogICAgICBjaGFyICpzVmFsdWUgPSAoY2hhciopZS53aGF0KCk7CiAgICAgIHN0ZDo6Y291dCA8PCAiQ2F1Z2h0IGEgZnV0dXJlX2Vycm9yIHdpdGggY29kZSAiIDw8IGVDb2RlLm1lc3NhZ2UoKQogICAgICAgICAgICAgICAgIDw8ICIgLSB3aGF0IiA8PCBzVmFsdWUgPDwgc3RkOjplbmRsOwogICB9Cn0K