У меня есть функция, которая требует указателя на функцию в качестве аргумента:C++ функция привязки для использования в качестве аргумента другой функции
int func(int a, int (*b)(int, int))
{
return b(a,1);
}
Теперь я хочу использовать определенную функцию, которая имеет три аргумента в этой функции:
int c(int, int, int)
{
// ...
}
Как я могу связать первый аргумент c
так, что я могу сделать:
int i = func(10, c_bound);
Я смотрю на std::bind1st
, но я не могу понять это. Он не возвращает правильность указателя функции? У меня есть полная свобода адаптации func
, поэтому возможны любые изменения подхода. Althoug Я хотел бы, чтобы пользователь моего кода смог определить свои собственные c
...
Обратите внимание, что приведенное выше является жестоким упрощением фактических функций, которые я использую.
Проект, к сожалению, требует C++98
.
даже если Мне нужен код C++ 98, этот ответ был легко преобразован в его эквивалент повышения. – romeovs