在升级项目中发现错误:operator'='不明确,'ios':不是类或命名空间名称

时间:2012-06-28 07:22:21

标签: visual-c++ compiler-errors vc6

以下行在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:'operator ='不明确。

1 个答案:

答案 0 :(得分:1)

第一个问题可能是通过在您打开时使用std::ios或在文件开头使用using std::ios来解决的。

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