AfxBeginThread()函数中,第一个参数为什么一定要声明成UINT ExecutingFunction (LPVOID pParam);的形式
1个回答
展开全部
你可以看下MSDN里AfxBeginThread函数的用法。
这个函数有两个版本,你说的是第一个版本,这个版本里第一个参数的类型是AFX_THREADPROC。然后再转到这个类型的声明处,比如在VC2003里是在afxwin.h这个文件里:
typedef UINT (AFX_CDECL *AFX_THREADPROC)(LPVOID);
可以看出,第一个参数是个函数指针,而它的类型是用typedef定义的。而上面这个typedef里就规定了它的类型就LPVOID。其实这个参数类型相当于一个万能指针类型,可以强制相互转化的。
这个函数有两个版本,你说的是第一个版本,这个版本里第一个参数的类型是AFX_THREADPROC。然后再转到这个类型的声明处,比如在VC2003里是在afxwin.h这个文件里:
typedef UINT (AFX_CDECL *AFX_THREADPROC)(LPVOID);
可以看出,第一个参数是个函数指针,而它的类型是用typedef定义的。而上面这个typedef里就规定了它的类型就LPVOID。其实这个参数类型相当于一个万能指针类型,可以强制相互转化的。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询