VC6.0 error C2664: 'InterlockedCompareExchange' : cannot convert parameter 1 from 'long *' to 'void ** '
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast  
这是错误提示。if(InterlockedCompareExchange((long*)&lUsed, (long)1, (long)0) == (long)0)
{
iSize = g_zone[zoneIndex]->m_pMap[pt.x][pt.y].m_Item.GetSize();
dwDN = g_zone[zoneIndex]->m_pMap[pt.x][pt.y].m_FieldDN; if(iSize <= 0 && dwDN <= 0) return FALSE; for(j=0; j < iSize; j++) 
{
arMapItem.Add(g_zone[zoneIndex]->m_pMap[pt.x][pt.y].m_Item[j]);
} ::InterlockedExchange(&g_zone[zoneIndex]->m_pMap[pt.x][pt.y].m_FieldUse, 0); 
return TRUE;
}
else return FALSE;求解。。