我在vs2008中使用多线程方法,使用c ++语言。当我使用_beginthreadex
函数时,我收到了以下错误:
error C2664: '_beginthreadex' : cannot convert parameter 3 from 'unsigned int
(__stdcall *)(void *)' to 'unsigned int (__stdcall *)(void *)'
ps:我在threadFunc上使用模板,如下所示:
template<class T>
unsigned int WINAPI closingReconstruction_ThreadFunc(void* pvPara)
{...}
,然后我创建线程
_beginthreadex(NULL,0,closingReconstruction_ThreadFunc<T>,(PVOID)(tPara+i),0,NULL)
所以我得到这个错误,当然,如果我删除模板,它可以工作,但我需要使用模板,有没有任何方法来解决这个问题。
答案 0 :(得分:2)
您忘了提及前面的错误消息
错误C2065:'T':未声明的标识符
让我先说明首先查看第一条错误消息,通常是一个好主意。
干杯&amp;第h。,