是否可以声明一个在C++中将自身用作参数的函数类型?

zne*_*eak 10 c++

例如,是否有任何法律等同于此?

typedef void (*SelfReferencingFnPtr)(int, SelfReferencingFnPtr);
Run Code Online (Sandbox Code Playgroud)

使用clang,这会导致错误"未知名称SelfReferencingFnPtr".

我能想到的最好的是一个operator()接受自己类型的仿函数.

MSa*_*ers 5

不,见GotW#57.这确实是一个递归问题.