创建多线程

时间:2011-09-19 02:24:32

标签: c++ visual-studio-2008 compiler-errors

我在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)

所以我得到这个错误,当然,如果我删除模板,它可以工作,但我需要使用模板,有没有任何方法来解决这个问题。

1 个答案:

答案 0 :(得分:2)

您忘了提及前面的错误消息

  

错误C2065:'T':未声明的标识符

让我先说明首先查看第一条错误消息,通常是一个好主意。

干杯&amp;第h。,