boost :: make_unfused的结果不能分配给boost :: function对象

时间:2017-07-10 16:49:10

标签: c++ fusion

以下代码是说明问题的代码段:

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

有什么问题,我该怎么做才能解决它?

谢谢!

0 个答案:

没有答案