Следующая строка компилируется в vc6, но когда я обновляю проект в vs2008, обнаружил много ошибок, которые я нашел, но в основном 2 ошибки.ошибка, обнаруженная при обновлении проекта: operator '=' неоднозначно, и 'ios': не является именем класса или пространства имен
//open log file
parent->m_LogFile.open(strFileName, ios::app | ios::out, filebuf::sh_read);
Ошибка: ошибка C2653: 'ИОС': это не класс или пространство имен имя
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 :: ios_base – vikky
Да. В общем, 'ios' наследует от' ios_base'. В VS, 'ios' на самом деле является typedef из' basic_ios', который наследуется от 'ios_base'. Таким образом, константы точно такие же, и вы можете использовать любой класс для доступа к ним. – eran
Я использовал, но проблема осталась такой же для первой ошибки ........ – vikky