函数指针做形参问题
要调用一个函数,原型是:
MVCAPI DWORD WINAPI MVC_SetStreamHOOK(DWORD CardNo,StreamProc lpStreamFun, PVOID pUserData);
其中第二个参数StreamProc是一个函数指针,定义是这样的:
typedef UINT (WINAPI *StreamProc)(WORD wHWCardNo,MVCFRAMEINFO m_FrameInfo, PVOID pUserData);
现在有一个函数
UINT WINAPI a(WORD wHWCardNo,MVCFRAMEINFO m_FrameInfo, PVOID pUserData);
我想把这个函数作为要调用函数的第二个参数,我是这么写的:
MVC_SetStreamHOOK(m_iCurDevNo,a,this);
编译时报错说error C2664: 'MVC_SetStreamHOOK' : cannot convert parameter 2 from 'unsigned int (unsigned short,struct _MVCFRAMEINFO_,void *)' to 'unsigned int (__stdcall *)(unsigned short,struct _MVCFRAMEINFO_,void *)'
这是什么原因啊?函数名可以作为传递函数指针的参数吗?
谢谢。