Sintomi
Sintomo 1
Quando si compila un progetto di Microsoft Visual C++ che ha una dichiarazione di enumerazione in un offset specifico, si verifichi un errore C2371 C2556 o C2511.
Causa 1
Questo problema si verifica perché il compilatore analizza in modo non corretto codice di dichiarazione di enumerazione che si verifica alla fine di un buffer di file [file offset (4096 * n) -1].
Sintomo 2
Compilare un progetto di Visual C++ che dispone di una chiamata di funzione virtuale, che restituisce un oggetto e che associa il valore restituito a un riferimento. È inoltre abilitata l'opzione /clr . In questo caso si verifichi un'eccezione di violazione di accesso in fase di esecuzione.
Causa 2
Questo problema si verifica perché l'estensione di durata implicita di un valore temporaneo associato a un riferimento const non funziona se sono vere le seguenti condizioni:
-
Il progetto viene compilato come /clr.
-
Il valore temporaneo è il valore restituito di una chiamata di funzione virtuale o una chiamata di funzione tramite un puntatore a funzione.
Risoluzione
Informazioni sull'hotfix
Un hotfix supportato è disponibile da Microsoft. Tuttavia, questo hotfix è destinato esclusivamente alla correzione del problema descritto in questo articolo. Applicare questo hotfix solo ai sistemi in cui si verificano questo problema specifico.
Se l'hotfix è disponibile per il download, vi è una sezione "Hotfix Download disponibile" nella parte superiore di questo articolo della Knowledge Base. Se non viene visualizzato in questa sezione, inviare una richiesta al servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix. Nota: Se si verificano ulteriori problemi o se è necessaria attività di risoluzione aggiuntiva, potrebbe essere necessario creare una richiesta di assistenza separata. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare specifico hotfix in questione. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:http://support.microsoft.com/contactus/?ws=supportNota: Il modulo "Hotfix Download disponibile" Visualizza le lingue per cui è disponibile l'hotfix. Se non viene visualizzata la lingua, è perché un aggiornamento rapido non è disponibile per tale lingua.
Prerequisiti
Per applicare questo hotfix, è necessario disporre di Microsoft Visual Studio 2012 Update 4 installato.
Richiesta di riavvio
Potrebbe essere necessario riavviare il computer dopo avere installato l'hotfix se non vengono utilizzati i file interessati al momento dell'installazione. Si consiglia di chiudere tutti i componenti relativi a Visual Studio 2012 prima di installare l'hotfix.
Stato
Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".