以下代码是说明问题的代码段:
#include <boost/bind.hpp>
#include <boost/function.hpp>
#include <boost/fusion/functional.hpp>
#include <boost/fusion/container.hpp>
using IntFunc = boost::function<void(int, int)>;
using IntArgs = boost::fusion::vector<int, int>;
void HandleInt(const IntArgs& args)
{
}
void UnfusedTest()
{
auto f = boost::fusion::make_unfused(boost::bind(&HandleInt, _1));
IntFunc func = f;
}
使用boost 1.61编译时,
失败无法从&#39; int&#39;转换参数1到&#39; int&amp;&#39;&#34;错误。
我需要返回一个可以像这样调用的函数对象:func(1, 2)
;
有什么问题,我该怎么做才能解决它?
谢谢!