我编译一个动态库,提示以下错误, 请问是什么意思?
error C2228: left of '.m_data_len' must have class/struct/union type
error C2601: 'DSGetModemCount' : local function definitions are illegal
这是部分源码:
if (0!=glstPtrModemDataStructs.GetCount()) //若接收到的数据不为空
{
if(1==glstPtrModemDataStructs.GetCount()&&pDataStruct.m_data_buf[0]= " ")
{return 1; }
else
{INT i,j;
TRACE("ENTER GET NEXT DATA 5!\n");
ModemDataStruct *pData;
pData=glstPtrModemDataStructs.RemoveHead();
for(i=0;i<pDataStruct.m_data_len;i++)
{ if (pDataStruct.m_data_buf[i]= " ")
{for(j=i;j<pDataStruct.m_data_len-1;j++)
{pDataStruct.m_data_buf[j]=pDataStruct.m_data_buf[j+1];}
pDataStruct.m_data_len-=1;
} }
memcpy(pDataStruct,pData,sizeof(*pData));
//将数据拷贝完成后就要将数据结构给delete掉了。
delete pData;
return TRUE;
}
TRACE("ENTER GET NEXT DATA 6!\n");
return FALSE;
}
error C2228: left of '.m_data_len' must have class/struct/union type
error C2601: 'DSGetModemCount' : local function definitions are illegal
这是部分源码:
if (0!=glstPtrModemDataStructs.GetCount()) //若接收到的数据不为空
{
if(1==glstPtrModemDataStructs.GetCount()&&pDataStruct.m_data_buf[0]= " ")
{return 1; }
else
{INT i,j;
TRACE("ENTER GET NEXT DATA 5!\n");
ModemDataStruct *pData;
pData=glstPtrModemDataStructs.RemoveHead();
for(i=0;i<pDataStruct.m_data_len;i++)
{ if (pDataStruct.m_data_buf[i]= " ")
{for(j=i;j<pDataStruct.m_data_len-1;j++)
{pDataStruct.m_data_buf[j]=pDataStruct.m_data_buf[j+1];}
pDataStruct.m_data_len-=1;
} }
memcpy(pDataStruct,pData,sizeof(*pData));
//将数据拷贝完成后就要将数据结构给delete掉了。
delete pData;
return TRUE;
}
TRACE("ENTER GET NEXT DATA 6!\n");
return FALSE;
}
LINK : fatal error LNK1149: output filename matches input filename "E:\saro\demo集合\demo集合\gprsdll\Debug\gprsdll.lib"LINK : fatal error LNK1141: failure during build of exports fileError executing link.exe.这都是什么意思啊!
看看有没有包含定义m_data_len的头文件~~!!!