Следующий код представляет собой фрагмент, который иллюстрирует проблему:
#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)
;
Что не так и что я могу сделать, чтобы это исправить?
Спасибо!
Задача ещё не решена.
Других решений пока нет …