Скажите, у меня есть функция f(a, b, c)
. Можно ли создать указатели на функции g
и h
так, чтобы при использовании g
и h
они использовали предопределенное значение для одного из аргументов?
Например, (*g)(b, c)
будет эквивалентно f(1, b, c)
, а (*h)(b, c)
будет эквивалентно вызову f(2, b, c)
.
Причина, по которой я это делаю, заключается в том, что я вызываю функцию, на которую я могу получить указатель (через dlsym), и эта функция имеет совершенно разное поведение в зависимости от того, какой первый аргумент (настолько, что они на самом деле это не одно и то же). Более того, переменная указателя функции, которая используется в основной программе, обычно может принимать только два аргумента, поскольку это особый случай, когда импортируемая функция имеет три (но на самом деле необходимо только два, один по сути является параметром настроек).
Спасибо.