Результат boost :: make_unfused нельзя присвоить объекту boost :: function

Следующий код представляет собой фрагмент, который иллюстрирует проблему:

#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 это не с

не может преобразовать аргумент 1 из int в int &'» ошибка.

Мне нужно вернуть объект функции, который можно вызвать так: func(1, 2);

Что не так и что я могу сделать, чтобы это исправить?

Спасибо!

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]