64,649
社区成员
发帖
与我相关
我的任务
分享
typedef int (*pF)(const char*,const char*);
pF (*Register)(pF p);
,这里Register一个函数指针变量,所以本质上不等价(因为不是一个东西)。#include <typeinfo>
#include <iostream>
int main()
{
int (*Register (int (*) (const char*,const char*)))(const char*,const char*);
//Register = NULL;
std::cout << typeid(Register).name() << std::endl;
typedef int (*pFun)(const char*,const char*);
typedef pFun (*RegisterFun)(pFun);
cout << typeid(RegisterFun).name() << std::endl;
return 0;
}
FPFiPKcS0_ES2_E
PFPFiPKcS0_ES2_E
int (*Register (int (*pf) (const char*,const char*)))(const char*,const char*);
//分解为
typedef int (*PF)(const char*,const char*);
PF FUN(PF fp)
{
return fp;
}