C2385 Появляется сообщение об ошибке при использовании компилятора C++

Переводы статьи Переводы статьи
Код статьи: 323918 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

При компиляции кода Visual C++ с помощью виртуального базового конструктора появляется сообщение об ошибке C2385.

Причина

Данная проблема возникает из-за ошибки в компилятор C++ в Microsoft Visual Studio .NET.

Решение

Корпорация Майкрософт выпустила специальное исправление, предназначенное для устранения этой проблемы.. Данное исправление следует применять только на компьютерах, на которых имеется данная проблема.. Исправление может нуждаться в дополнительном тестировании.. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления Visual Studio .NET, содержащего это исправление.

Если необходимо немедленно устранить эту проблему, обратитесь в службу технической поддержки Майкрософт, чтобы получить данное исправление.. Полный список телефонов службы поддержки, а также сведения об условиях обслуживания см. на веб-узле корпорации Майкрософт по следующему адресу::
http://support.microsoft.com/default.aspx?scid=fh;RU;CNTACTMS
Примечание.: В особых случаях оплата, предусмотренная для звонков в службу поддержки обычно может быть отменена, если профессиональной поддержки Майкрософт определяет, что обновление будет решения проблемы. Дополнительные услуги по технической поддержке, не связанные с данным обновлением, оплачиваются на стандартных условиях..

Английская версия данного исправления содержит версии файлов, приведенные в следующей таблице, или более поздние.. Дата и время для файлов указаны во всеобщем скоординированном времени (UTC).. При просмотре сведений о файле, время изменяется на местное.. Чтобы узнать разницу между временем по Гринвичу и местным временем,Часовой поясвкладки в окне «Дата и время» панели управления.
   Date           Version       Size             File name     
   ---------------------------------------------------------
   04-Jun-2002    13.0.9503.0   2,105,344 bytes  C1xx.dll
   04-Jun-2002    13.0.9503.0   1,757,184 bytes  C2.dll
				

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в начале данной статьи..

Дополнительная информация

Чтобы воспроизвести появление данной проблемы, скомпилируйте следующий код Microsoft Visual C++ .NET, в Visual Studio .NET:
#include <stdio.h>

class V
{
public:
    V(){ printf("Just testing\n"); }
};

class A : virtual public V
{
    /* ... */ 
};

class B : virtual public V
{
    /* ... */ 
};

class C : public A, public B
{
    void DoNothing(const V&)
    {
        ;
    }

    void VC7_Ambiguity(void)
    {
        DoNothing(V());
    }
};

int main(void)
{
    C c;

    return 0;
}
				
При компиляции этого кода в Visual Studio .NET, в окне вывода появится следующее:
x3.cpp
x3.cpp(29) : error C2385: ambiguous access of 'V' in 'C'
        could be the 'V' in base 'V'
        or the 'V' in base 'V'
x3.cpp(29) : error C2065: 'V' : undeclared identifier
					

Свойства

Код статьи: 323918 - Последний отзыв: 24 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
Ключевые слова: 
kbbug kbcompiler kbfix kbqfe kbmt KB323918 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:323918

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com