Đây là bài viết đầu tiên của tôi ở đây vì vậy xin được khoan dung :)Có phải set_value_at_thread_exit() được hỗ trợ trên gcc không?
Tôi đang gặp vấn đề với phương thức set_value_at_thread_exit() từ lớp lời hứa (một phần của C++ 11). Tất cả mọi thứ là ok trong VS2013 nhưng GCC mang lại cho tôi thông báo lỗi sau:
error: ‘class std::promise<int>’ has no member named ‘set_value_at_thread_exit’
args->result.set_value_at_thread_exit(result);
Tôi đã thử GCC 4.8 và 4.9 trên Ubuntu 14.04
Mã này là:
[...]
int result = 0;
Socket socket;
result = CreateUDPSocket(&socket, false, ANY_IP, args->port);
if (result != ERROR_SUCCESS)
{
args->result.set_value_at_thread_exit(result);
return;
}
args->result.set_value(ERROR_SUCCESS);
[...]
Một trong những mức giá sử dụng phần mềm nguồn mở. Điều đã được trong spec kể từ C + + 11 và GCC 4.9.2, trong đó có C + + 14 công cụ vẫn không có nó. –