0

次の行は 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 =' があいまいです。

4

1 に答える 1

1

std::ios最初の問題は、ファイルを開くか、ファイルの先頭で使用することでおそらく修正できusing std::iosます。

CString::Delete2 番目の問題は、int を返すという事実によって引き起こされます。これは絶対に に割り当てたいものではありませんよねstrData? 割り当てを削除するだけで、とにかくDelete変更されます。strData

于 2012-06-28T07:31:12.733 に答える