KORRIGERA: C2371, C2556 eller C2511 fel när du kompilerar ett Visual C++-projekt i Visual Studio 2012

Symptom

Symptom 1

När du kompilerar ett Microsoft Visual C++-projekt som innehåller en uppräkning deklaration vid en viss förskjutning kan felmeddelandet C2371, C2556 eller C2511.

Orsak 1

Det här problemet uppstår eftersom kompilatorn felaktigt tolkar uppräkning deklaration kod som sker i slutet av en fil buffert [vid fil-förskjutning (4096 * n) -1].

Symptom 2

Du kompilerar ett Visual C++-projekt som har ett virtuella funktionsanrop som returnerar ett objekt och som kopplar det returnerade värdet till en referens. Du har också alternativet /clr aktiverat. I detta fall får du ett åtkomstfel vid körning.

Orsak 2

Det här problemet uppstår eftersom implicita livstid utvidgning av ett tillfälligt värde som är bundet till en konst referens inte fungerar om följande villkor är uppfyllda:

  • Projektet är kompilerad som /clr.

  • Tillfälligt värde är värdet som returneras av virtuella funktionsanrop eller ett funktionsanrop via en funktionspekare.

Lösning

Information om snabbkorrigeringen

En snabbkorrigering är tillgänglig från Microsoft. Den här snabbkorrigeringen är emellertid avsedd att åtgärda det problem som beskrivs i denna artikel. Använd bara den här snabbkorrigeringen för system med just detta problem.

Om snabbkorrigeringen är tillgänglig för hämtning finns "Snabbkorrigeringen tillgänglig för hämtning" överst i den här Knowledge Base-artikeln. Om det här avsnittet inte visas, skicka en begäran till Microsofts kundtjänst och Support för att få snabbkorrigeringen.

Obs! Om det uppstår ytterligare problem eller krävs felsökning, kan du behöva skapa en serviceförfrågan. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte uppfyller kraven för den här snabbkorrigeringen. En fullständig lista över telefonnummer för Microsofts kundtjänst och Support eller skapa en serviceförfrågan finns på följande Microsoft-webbplats:

http://support.microsoft.com/contactus/?ws=supportObs! "Snabbkorrigering tillgänglig för hämtning" formuläret visar de språk som snabbkorrigeringen är tillgänglig på. Om ditt språk inte visas beror det på att ingen snabbkorrigering är tillgänglig för språket.

Förutsättningar

Om du vill installera den här snabbkorrigeringen måste du ha Microsoft Visual Studio 2012 uppdatering 4 installerat.

Krav på omstart

Du kan behöva starta om datorn efter installation av snabbkorrigeringen om de berörda filerna inte används vid tidpunkten för installationen. Vi rekommenderar att du stänger alla Visual Studio 2012-relaterade komponenter innan du installerar snabbkorrigeringen.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×