Síntomas
Síntoma 1
Cuando se compila un proyecto de Microsoft Visual C++ que tiene una declaración de enumeración en un desplazamiento específico, puede recibir un error C2371, C2556 o C2511.
Causa 1
Este problema se produce porque el compilador analiza incorrectamente el código de declaración de enumeración que se produce al final de un búfer de archivo [en desplazamiento de archivo (4096 * n) -1].
Síntoma 2
Compilar un proyecto de Visual C++ que tiene una llamada de función virtual que devuelve un objeto y que enlaza el valor devuelto a una referencia. También tiene habilitada la opción/CLR . En esta situación, puede recibir una excepción de infracción de acceso en tiempo de ejecución.
Causa 2
Este problema se produce porque la extensión de duración implícita de un valor temporal que se enlaza a una referencia const no funciona si se cumplen las condiciones siguientes:
-
El proyecto se compila como/CLR.
-
El valor temporal es el valor devuelto de una llamada de función virtual o una llamada de función a través de un puntero a función.
Solución
Información de la revisión
Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico.
Si la revisión está disponible para su descarga, entonces podrá ver una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, envíe una solicitud al servicio de atención al cliente y soporte técnico para obtener la revisión.
Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota: El formulario de "Descarga de revisión disponible" muestra los idiomas para los que la revisión está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.
Requisitos previos
Para aplicar este hotfix, debe tener Microsoft Visual Studio 2012 actualización 4 instalado.
Requisito de reinicio
Tendrá que reiniciar el equipo después de instalar la revisión si no se utilizan los archivos afectados en el momento de la instalación. Se recomienda que cierre todos los componentes relacionados con el 2012 de Visual Studio antes de instalar el hotfix.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".