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