Tôi bắt đầu chuyển vC++ 10/boost 1.48 codebase thành vC++ 12/boost 1.57 và tôi nhận được lỗi tăng :: tùy chọn không thể chuyển thành bool. Tôi nghĩ rằng đây là một tính năng của tăng :: tùy chọn, nó đã được loại bỏ?Đã tăng :: dàn diễn viên tiềm ẩn của tùy chọn để bool biến mất?
Ví dụ:
bool fizz(){
boost::optional<int32_t> buzz;
return buzz;
}
cho
Error 21 error C2440: 'return' : cannot convert from 'boost::optional<int32_t>' to 'bool'
Việc triển khai 1.58 không thay đổi. Nó vẫn sử dụng macro. –
@ T.C. Rất tiếc, đã sửa. – Barry
Cảm ơn câu trả lời chi tiết. Cho tôi biết về macro rất hữu ích vì chúng tôi phải hỗ trợ công cụ cũ trong nửa năm nữa. – sellsword