C2385 Mensaje de error al utilizar el compilador de C++

Seleccione idioma Seleccione idioma
Id. de artículo: 323918 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

Si compila el código de Visual C++ con un constructor base virtual, puede recibir un mensaje de error C2385.

Causa

Este problema se produce debido a un error en el compilador de C++ en Visual Studio.NET.

Solución

Ahora tiene a su disposición una revisión para la que Microsoft proporciona soporte técnico, pero que sólo se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a equipos que experimenten este problema específico. Se efectuarán pruebas adicionales de esta revisión. Por lo tanto, si no se ve muy afectado por este problema, Microsoft recomienda que espere a que el siguiente service pack de Visual Studio .NET que contenga este hotfix.

Para resolver este problema inmediatamente, póngase en contacto con los Servicios de soporte técnico de Microsoft con el fin de obtener la revisión. Para obtener una lista completa de los números de teléfono de servicios de soporte de técnico de Microsoft e información acerca de los costos de soporte, visite el siguiente sitio Web:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Nota : en casos especiales, los que normalmente se incurre llamadas de soporte técnico pueden cancelarse si un profesional de soporte técnico de Microsoft determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.

La versión en inglés de esta revisión tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   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
				

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo.

Más información

Para reproducir este problema, compile el ejemplo siguiente de código de Microsoft Visual C++ .NET de 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;
}
				
al compilar este código en Visual Studio. NET, el resultado siguiente aparece en la ventana de resultados:
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
					

Propiedades

Id. de artículo: 323918 - Última revisión: martes, 11 de febrero de 2014 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft Visual C++ .NET 2002 Standard
Palabras clave: 
kbnosurvey kbarchive kbmt kbbug kbcompiler kbfix kbqfe KB323918 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 323918

Enviar comentarios

 

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