UINT CTaskingDoc::ThreadFunc(LPVOID pParam)
{
CSpinner* lpSpin=(CSpinner*)pParam;
BOOL*pbContinue=lpSpin->GetContinue();
while(*pbContinue)
lpSpin->Draw();
return 0;}void CTaskingDoc::SuspendSpinner(int nIndex, BOOL bSuspend)
{
if(!bSuspend)
{
if(m_pSpinThread[nIndex])
{
HANDLE hThread = m_pSpinThread[nIndex]->m_hThread;
::WaitForSingleObject(hThread,INFINITE);
}
}
else
{
int iSpnr;
switch(nIndex)
{
case 0:
iSpnr=1;
break;
case 1:
iSpnr=3;
break;
}
m_pSpinThread[nIndex]=AfxBeginThread(ThreadFunc,(LPVOID)&m_cSpin[iSpnr]);
}}
运行报错为error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
Error executing cl.exe.
不知为何会出错望高手解答
{
CSpinner* lpSpin=(CSpinner*)pParam;
BOOL*pbContinue=lpSpin->GetContinue();
while(*pbContinue)
lpSpin->Draw();
return 0;}void CTaskingDoc::SuspendSpinner(int nIndex, BOOL bSuspend)
{
if(!bSuspend)
{
if(m_pSpinThread[nIndex])
{
HANDLE hThread = m_pSpinThread[nIndex]->m_hThread;
::WaitForSingleObject(hThread,INFINITE);
}
}
else
{
int iSpnr;
switch(nIndex)
{
case 0:
iSpnr=1;
break;
case 1:
iSpnr=3;
break;
}
m_pSpinThread[nIndex]=AfxBeginThread(ThreadFunc,(LPVOID)&m_cSpin[iSpnr]);
}}
运行报错为error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
Error executing cl.exe.
不知为何会出错望高手解答
void static CTaskingDoc::SuspendSpinner(int nIndex, BOOL bSuspend)
或 SuspendSpinner(int nIndex, BOOL bSuspend)
就可以啦!
或者你干脆写成全局函数就可以啦