我在使用Visual C ++时只使用下面的代码获得有关已删除函数的错误。 (VS 2015 更新2.我也试过VS 15的预览,但它是一样的)
最新版本的Clang和GCC都可以,但是VS可能更严格但确实正确吗?
#define BOOST_THREAD_PROVIDES_FUTURE
#define BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION
#define BOOST_THREAD_PROVIDES_EXECUTORS
#include <boost/thread/future.hpp>
class TestEx {
public:
void submit(std::function<void()>) {
}
bool try_executing_one() {
return false;
}
bool closed() {
return false;
}
void close() {
}
};
int main()
{
TestEx tex;
boost::async(
tex,
[]() {});
return 0;
}
如果您想尝试编译,但无法访问Visual Studio 2015 Update 2并提升,则可以在线进行此操作。
答案 0 :(得分:1)
Sean Cline指出答案是使用boost::executor_adaptor