我想尝试提升未来然后,我已经安装了1.55并包含在make文件中,我想尝试官方演示
#define BOOST_THREAD_PROVIDES_FUTURE
#include <boost/thread/future.hpp>
using namespace boost;
int main()
{
future<int> f1 = async([]() { return 123; });
future<int> f2 = f1.then([](future<int> f) { return f.get();} );// here .get() won't block });
}
但在编译期间我总是遇到错误
error: ‘class boost::future<int>’ has no member named ‘then’
当我用f2评论它时,它会编译。
答案 0 :(得分:8)
你应该定义
#define BOOST_THREAD_VERSION 4
或
#define BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION