#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
void Thread1( LPVOID param)
{
int a;
a = *((int *)param);
for (int i= 0; i <10; i++)
printf("%d\n", a);
}
int main()
{
int a =4;
int ThreadId;
CreateThread( 0, 0x0100, Thread1, &a, 0, &ThreadId);
for( int i = 0; i <11; i++)
Sleep( 1);
return( 1);
}这是一段简单的代码,但是我不明白为什么visual studio会给我错误:
错误C2664:'CreateThread‘:无法将参数3从'void (__stdcall *)’转换为'unsigned long (__stdcall *)(void *)‘作用域中没有具有此名称的函数与执行cl.exe时的目标类型匹配。
发布于 2011-06-27 09:34:16
定义如下
DWORD WINAPI MyThreadProc(LPVOID lpParameter)CreateThread()需要__stdcall调用约定。
https://stackoverflow.com/questions/6487854
复制相似问题