Boost找不到未来::然后从演示

Boost cannot find future::then from demo

本文关键字:然后 未来 Boost 找不到      更新时间:2023-10-16

当时我想尝试boost future,我安装了boost 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注释行时,它编译了。

您应该定义

#define BOOST_THREAD_VERSION 4

#define BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION