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

Is it possible to declare a function type that uses itself as an argument in C++?

本文关键字:参数 类型 函数 C++ 声明 一个 是否      更新时间:2023-10-16

例如,是否有任何法律等价物?

typedef void (*SelfReferencingFnPtr)(int, SelfReferencingFnPtr);

对于 clang,这会导致错误"未知名称 SelfReferencingFnPtr"。

我能想到的最好的是一个函子,其operator()接受自己的类型。

不,请参阅 GotW #57。这确实是一个递归问题。