我正在使用boost::协程调用非空函数typedef boost::coroutines::coroutine< int(void) > coro_t;typedef coro_t::caller_type Yield_target;myClass* do_something(Yield_target& yield){ myClass* m = new myClass; // ... do smt yield(); // ... do smt return m;}然后我通过绑定(bind)功能来调用协程。函数(协程)完成后,如何获取myClass *的返回值? 最佳答案 您在问题陈述中提到的 coro_t::caller_type 类型可能已被弃用,因为more recent Boost Documentation中未包含该类型。但是,在最近的文档here中,您可能会在 coroutine ::push_type 部分看到一个短语,“您无法使用这种协程从另一个执行上下文中检索值”。尽管我不确定您打算如何使用Couroutine库,但我怀疑您会比 coroutine ::pull_type 更频繁地使用 coroutine ::push_type ,因此我想您将需要找到另一种方法检索返回值,而不是库本身。关于c++ - 在coro_t完成后如何 boost 协程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23675272/