出现这种问题原因可能很多,但以下介绍这种是因为多线程引起的。
1、场景描述:Win32应用程序, 项目中使用了线程池,初始化了4个线程,然后当点击界面的红叉退出主线程时就会报错误:R6010 abort() has been called
2、原因:子线程创建后,它默认是与主线程分离的,当主线程退出后,许多资源都被释放,然后子线程还在运行,就报错了。
3、解决:退出之前join()一下,等子线程退出,再退出主线程