Большое изображение: у меня есть модуль с функциями и модуль с процедурами и функциями над этими функциями.
Когда я объединяю две функции (из интерфейса функционального модуля):
double f1(double alpha, double x);
double f2(double beta, double x);
несколькими способами (один из них добавляет):
double OP_Addition(double (*f)(double,double) , double (*g)(double,double), double param1, double param2, double x);
Не возникает проблем со следующей (частью) реализации:
z1 = (*f)(param1, x);
z2 = (*g)(param2, x);
y = z1 + z2;
return y;
Но когда я хочу вернуть указатель на "новую" функцию, например:
void *OP_PAdd( double (*f)(double,double), double param3 );
Я не могу заставить его работать правильно, ни сделать правильный "звонок". Я хочу использовать выходную "функцию" в качестве входа в другие функции.