在升级项目时发现错误:运算符'='不明确且'ios':不是类或命名空间名称



以下行在 vc6 中编译良好,但是当我在 vs2008 中升级项目时,我发现了很多错误,但主要是 2 个错误。

//open log file
   parent->m_LogFile.open(strFileName, ios::app | ios::out, filebuf::sh_read);
错误:

错误 C2653:"ios":不是类或命名空间名称

CString CReverseProxy::PutData(CString strData)
{
    CString strSW = "";
    CString strPayload;
    DWORD   dwRet;
    BYTE    SendBuffer[MAX_LEN];
    BYTE    RecvBuffer[MAX_RETURN_SIZE];
    ULONG   ulSendLength = sizeof(SendBuffer);
    ULONG   ulRecLength  = sizeof(RecvBuffer);
    while ((strData.GetLength() / 2) > 255)
    {
        strPayload  = strData.Mid(0, 510);
        strData     = strData.Delete(0, strPayload.GetLength());//error
错误

:错误 C2593:"运算符 ="不明确。

第一个问题可以通过在打开中使用std::iosusing std::ios文件开头来解决。

第二个问题是由CString::Delete返回 int 的事实引起的。这绝对不是你想分配给strData的,对吧?只需删除作业,Delete无论如何都会修改strData

最新更新