Так что в его самой дистиллированной форме у меня происходит что-то подобное,
template <class T>
bool f(const T &a, const T &b, std::function<bool(const T&, const T&)> func)
{
return func(a,b);
}
template <class T>
bool g(const T &a, const T &b)
{
return true;
}
Но любая попытка вызвать f()
, с чем-либо, f('a', 'b', g)
, f(1, 2, g)
, всегда приводит к "нет соответствующей функции для вызова 'f' ", независимо от того, передаю ли я переменные в виде константных ссылок или просто в виде простых значений или чего-то ещеЯ предполагаю, что это не в состоянии вывести некоторый шаблон, но я понятия не имею, где или почему.
Признаюсь, я очень слабо разбираюсь в том, как вообще использовать функциональные объекты, возможно ли сделать что-то подобное?