Symptomer
Symptom 1
Når du kompilere Microsoft Visual C++-prosjektet som har en opplisting-deklarasjon i en bestemt forskyvning, kan det hende en feil med C2371, C2556 eller C2511.
Årsak 1
Dette problemet oppstår fordi kompilatoren analyserer feilaktig opplisting deklarasjon kode som skjer på slutten av en fil-buffer [på Filforskyvning (4096 * n) -1].
Symptom 2
Du kompilere Visual C++-prosjektet som har en virtuell funksjonskall som returnerer et objekt som binder den returnerte verdien til en referanse. Du har også alternativet /clr aktivert. I dette tilfellet kan du få et brudd på unntak for tilgang under kjøring.
Årsak 2
Dette problemet oppstår fordi den implisitte levetid utvidelsen av en midlertidig verdi som er bundet til en konstant referanse ikke fungerer hvis følgende betingelser er oppfylt:
-
Prosjektet er kompilert som /clr.
-
Midlertidige verdien er den returnerte verdien av et virtuelt funksjonskall eller et funksjonskall gjennom en funksjonspeker.
Oppløsning
Informasjon om hurtigreparasjon
En støttet hurtigreparasjon er tilgjengelig fra Microsoft. Denne hurtigreparasjonen er imidlertid ment å løse problemet som er beskrevet i denne artikkelen. Bruk denne hurtigreparasjonen bare på systemer som har dette bestemte problemet.
Hvis hurtigreparasjonen er tilgjengelig for nedlasting, finnes delen "Hotfix Download-Available" øverst i denne Knowledge Base-artikkelen. Hvis denne delen ikke vises, kan du sende en forespørsel til Microsofts kundeservice og kundestøtte for å få hurtigreparasjonen. Obs! Hvis det oppstår andre problemer, eller hvis feilsøkingstips, må du kanskje opprette en separat forespørsel om. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av denne oppdateringen. For en fullstendig liste over telefonnumre for Microsofts kundeservice og kundestøtte eller opprette en separat forespørsel om, kan du gå til følgende Microsoft-webområde:http://support.microsoft.com/contactus/?ws=supportObs! "Hotfix Download-Available" skjemaet viser språk hurtigreparasjonen er tilgjengelig. Hvis du ikke ser språket ditt, er det fordi en hurtigreparasjon ikke er tilgjengelig for dette språket.
Forutsetninger
Hvis du vil bruke denne hurtigreparasjonen, må du ha Microsoft Visual Studio 2012 oppdatering 4 installert.
Krav om omstart
Du må kanskje starte datamaskinen etter at du har installert hurtigreparasjonen, hvis de berørte filene ikke brukes på tidspunktet for installasjonen. Vi anbefaler at du lukker alle Visual Studio 2012-relaterte komponenter før du installerer hurtigreparasjonen.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".