CreateThread()方法创建线程时出错

  最近在使用CreateThread()方法创建线程时提示以下错误

 

 

我的环境如下:

1. VS2019

2. MFC基于对话框

 

  

  查阅孙鑫写的书《VC++深入详解》修订版多线程一章中,也提到过这个错误,解决方法是因为线程方法声明在对话框的类中,成为了此类中的一个方法,要在前面添加static修饰符,使其成为静态方法,与类的对象无关,但是按照其方法修改后还是不行,可能是因为开发环境的不一样,书中用的是VC6.0,二十年前的环境!

  在百度多次后一样无法解决,自己瞎尝试了将线程函数的类型强制转换为LPTHREAD_START_ROUTINE类型后,问题得到解决

HANDLE m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadFun1, NULL, 0, NULL);

 

posted @ 2020-07-18 18:01  秋水寒林  阅读(958)  评论(0编辑  收藏  举报