指向采用函数指针的函数的函数指针
|
我如何声明一个指向使用与参数相同的函数指针的函数的函数指针?
我尝试了以下操作但未成功:
typedef void (*fnptr)(void (*)());
void func(fnptr)
{
/* ... */
}
void func2(fnptr)
{
/* ... */
}
void main()
{
fnptr fn = &func;
func2(fn);
}
这可能吗?
没有找到相关结果
已邀请:
5 个回复
屠创氓读叔
使用示例:
更新:根据Chris,Vitus和Johannes的建议,以下是一些方便的隐式转换(例如Herb Sutter的GotW#57):
镰茧钩
转发声明typedef,那将是很好的。就像是:
但这是行不通的,因为“ 4”仅限于某些特定的模板用途
补蹲农界维
编辑:民间人士指出你的意思是两者都是同一种类型。在这种情况下,这是不可能的,因为类型是递归的。无法创建完整的类型规范(永远不会完全指定函数参数的类型,因此...)
久坡
乏摩纶誊伟