Я хочу создать общую функцию, которая возвращает указатель на другую функцию в C/С++. Однако вторая возвращаемая функция должна иметь возможность использовать переменную из первой функции.
Пример
typedef double (*func_t)(double);
func_t inverse(func_t fn) {
// define another function here that uses fn
double solve(double x) {
// use fn
}
return &solve;
}
double sqr(double x) { return x * x; }
int main() {
func_t inv = inverse(sqr);
printf("sqrt %d = %f\n", 100, inv(100));
}
Очевидно, что gcc, g++ не позволяют мне это делать. Могу ли я достичь этого без использования классов или структур.