未来10大热门专业:线程:Windows API 使用CreateThread() 问题??

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 23:17:34
我在使用CreateThread()创建线程的时候,该函数的第三个参数报错:不能覆盖指定类型:error C2664: 'CreateThread' : cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (__stdcall *)(void *)'
我在程序中使用了MFC结构。
注释:使用MFC封装的AfxBeginThread()有同样的问题。
我知道了这个问题的答案:在CSDN上,下面的答案是错的。有和我有同样问题的人到csdn上搜以下,关键字:createthread

在自定义的函数前面加static ,然后,在createThread函数的第三个参数前面加上(LPTHREAD_START_ROUTINE)就好了。。。。。我也遇到了这个问题,就是这么搞定的。(vs2010 MFC)

第三个参数是你创建线程程序的起始地址,这个错误是初学者常会遇到的错误,你为某段程序创建线程,赋予createthread函数的程序地址应该是一个unsigned long型指针参数,而你给他的是一个实际地址参数,应该转换一下