关于函数指针问题

zhdx1981 2009-03-12 10:49:48
编译错误C2440问题如何解决啊?
类似如下程序:
void * FunctionA()
{
return NULL;
}

int _tmain(int argc, _TCHAR* argv[])
{
void * pPtr;
void (*pFunc)(int);

pPtr = FunctionA();

pFunc = pPtr;//编译时这一行报C4220错误:error C2440: “=” : 无法从“void *”转换为“void (__cdecl *)(int)”
//从“void*”到指向非“void”的指针的转换要求显式类型转换

return 0;
}

请问该如何解决该编译错误?
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengzhixi 2009-03-12
  • 打赏
  • 举报
回复
void * pPtr;
void (*pFunc)(int);

pFunc=&FunctionA;

pPtr=pFunc;
zhdx1981 2009-03-12
  • 打赏
  • 举报
回复
1楼的兄弟,这样改跟我原来的代码没有区别吧?一个带参数一个不带参数而已,编译时错误依旧啊
hemiya 2009-03-12
  • 打赏
  • 举报
回复

void * pPtr;
void (*pFunc)();

pPtr = FunctionA();

pFunc = pPtr;//

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧