创建多线程中HANDLE handle为什么是非法表达?
请大家帮忙看下这个创建多线程程序为什么在VC6.0里编译出错
#include<stdio.h>
#include<windows.h>
//子线程函数
DWORD WINAPI ThreadFun(LPVOID pM)
{
printf("子线程的线程ID号为:%d\n子线程输出Hello?World\n",GetCurrentThreadId());
return 0;
}
//主函数,所谓主函数其实就是主线程执行的函数。
int main()
{
printf("最简单的创建多线程实例\n");
HANDLE handle;
handle = CreateThread(NULL,0,ThreadFun,NULL,0,NULL);
WaitForSingleObject(handle,INFINITE);
return 0;
}
编译调试结果:
error C2275: 'HANDLE' : illegal use of this type as an expression
[解决办法]
文件扩展名是.c还是.cpp
如果是c的话,把HANDLE handle放在printf前面