【发布时间】:2014-03-17 19:31:11
【问题描述】:
在 C 中,我如何声明一个返回函数的函数,该函数返回一个函数等。 即,我想要这样的东西
typedef A (*A)();
A a = ...
a()()()()();
我想实现以下 C++ 行为:
struct A { A operator()() { return A(); } };
A a;
a()()()()();
【问题讨论】:
-
之前在 SO 上看到过这个,但是找不到了,但是我认为答案是在 C 中是不可能的。
-
@chux
typedef int (*f)(int); typedef f (*g)(int); typedef g (*h)(int);等等怎么样。 -
@ajay 我误解了 OP 的帖子。我认为OP希望函数返回与函数相同的类型。也许不是?
-
@chux:我也是这么想的。我也见过。
-
和 ajay 的例子一样,在 C 中你返回的是函数的指针,而不是函数。
标签: c function-pointers