【发布时间】:2018-01-13 12:53:54
【问题描述】:
所以我得到了以下表达式:
int (*f1(int(*a)(int, int))) (int, int);
我试图理解它,但它令人困惑。我发现“a”是一个指向带有 2 个参数(int,int)的函数的指针。 然后 f1 似乎是指向另一个接受 2 个 int 参数的函数的指针。 但令我困惑的是 f1 与 a 的关系。
有人可以给我一些提示或正确解释上述表达式的作用吗?
【问题讨论】:
-
请告诉我为什么人们使用函数指针编写 C++ 代码。 std::function 可用
-
这不是问题的重点。我有这条线,我正试图弄清楚它的含义,但我被卡住了。
-
cdecl.org 说:“将 f1 声明为函数(指向函数 (int, int) 返回 int)返回指向函数 (int, int) 返回 int 的指针”
-
How do I understand complicated function declarations? 的可能重复我确实看到这个问题是关于 C 的,而这个问题是关于 C++ 的,但这个问题没有任何 C++ 特定的内容。