Итак, у меня есть следующее выражение:
int (*f1(int(*a)(int, int))) (int, int);
и я пытаюсь понять это, но это сбивает с толку. Я понял, что "a" является указателем на функцию, которая принимает 2 аргумента (int, int). Тогда f1 представляется указателем на другую функцию, которая принимает 2 аргумента int. Но то, что меня смущает, - это то, как f1 относится к a.
Может кто-нибудь дать мне некоторые подсказки или правильно объяснить, что делает это выражение?