Question

I wanted to try boost future then, I have boost 1.55 installed and included in make file and I wanted to try official demo

#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 });
} 

but I always get error during compilation

error: ‘class boost::future<int>’ has no member named ‘then’

When I commented line with f2 it compiles.

Was it helpful?

Solution

You should define

#define BOOST_THREAD_VERSION 4

or

#define BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top