Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Artiklarna i det här avsnittet i dokumentationen förklarar en delmängd av de felmeddelanden som genereras av kompilatorn.
Viktigt!
Visual Studio-kompilatorer och byggverktyg kan rapportera många typer av fel och varningar. När ett fel eller en varning har hittats kan byggverktygen göra antaganden om kod avsikt och försöka fortsätta, så att fler problem kan rapporteras samtidigt. Om verktygen gör fel antagande kan det hända att senare fel eller varningar inte gäller för projektet. När du korrigerar problem i projektet börjar du alltid med det första felet eller varningen som rapporteras och återskapar ofta. En korrigering kan lösa flera efterföljande fel.
Om du vill få hjälp med ett visst diagnostikmeddelande i Visual Studio väljer du det i fönstret Utdata och trycker på F1-tangenten. Visual Studio öppnar dokumentationssidan för det felet, om det finns ett sådant. Du kan också använda sökverktyget överst på sidan för att hitta artiklar om specifika fel eller varningar. Eller bläddra i listan med fel och varningar efter verktyg och skriv in innehållsförteckningen på den här sidan.
Anmärkning
Alla Visual Studio-fel eller -varningar dokumenteras inte. I många fall innehåller diagnostikmeddelandet all tillgänglig information. Om du landade på den här sidan och tror att felet eller varningsmeddelandet behöver ytterligare förklaring kan du meddela oss med hjälp av feedbackknapparna på den här sidan. Om du tror att felet eller varningen är fel, eller om du har hittat ett annat problem med verktygsuppsättningen, rapporterar du ett produktproblem på webbplatsen Developer Community. Du kan också skicka feedback och ange buggar i IDE:t. I Visual Studio går du till menyraden och väljer Hjälp > Skicka feedback > Rapportera ett problemeller skicka ett förslag med hjälp av Hjälp > Skicka feedback > Föreslå en funktion. Vissa kompilatorfelavsnitt skapades men genereras inte längre av kompilatorn och omdirigeras nu till den här sidan i stället.
Du kan få ytterligare hjälp med fel och varningar i Microsoft Q&A C++-forum. Du kan också söka efter fel- eller varningsnumret på webbplatsen för Visual Studio C++ Developer Community. Du kan också söka Stack Overflow för att hitta lösningar.
Länkar till ytterligare hjälp- och communityresurser finns i Visual C++ Help and Community.
Felmeddelanden
| Fel | Meddelande |
|---|---|
| Kompilatorfel C2900 | "deklarator": Medlemsfunktionsmallar i WinRT-klasser måste vara "privata", "interna" eller "skyddad privat" |
| Kompilatorfel C2901 | "identifier": Ett generiskt gränssnitt eller delegering kan inte vara publikt |
| Kompilatorfel C2902 | "token": oväntad token efter "template/generic", identifier expected (Föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2903 | "identifierare": symbolen är varken en klassmall/generisk eller en funktionsmall/generisk |
| Kompilatorfel C2904 | "identifierare": namn som redan används för en mall i det aktuella omfånget |
| Kompilatorfel C2905 | Föråldrad. |
| Kompilatorfel C2906 | "mall": explicit specialisering kräver "mall <>" |
| Kompilatorfel C2907 | registerargumentet "number" anger inte ett giltigt registernummer |
| Kompilatorfel C2908 | explicit specialisering. "mallen" har redan instansierats |
| Kompilatorfel C2909 | "identifierare": explicit instansiering av funktionsmallen kräver returtyp |
| Kompilatorfel C2910 | "funktion": kan inte uttryckligen vara specialiserad |
| Kompilatorfel C2911 | 'member': kan inte deklareras eller definieras i det aktuella omfånget |
| Kompilatorfel C2912 | explicit specialisering "deklaration" är inte en specialisering av en funktionsmall |
| Kompilatorfel C2913 | explicit specialisering. "deklaration" är inte en specialisering av en klassmall |
| Kompilatorfel C2914 | "identifierare": kan inte härleda mall/generiskt argument eftersom funktionsargumentet är tvetydigt |
| Kompilatorfel C2915 | "identifier": "typ" kan inte användas direkt på en publicerad yta av en WinRT-typ. Använd "Platform::Object^" i stället när du skickar den här typen |
| Kompilatorfel C2916 | "identifier": [FlagsAttribute] måste (endast) anges i en public enum med den underliggande typen "unsigned int" |
| Kompilatorfel C2917 | "identifierare": ogiltig mallparameter (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2918 | "identifierare": Indexerade egenskaper kan inte användas på den publicerade ytan av en WinRT-typ |
| Kompilatorfel C2919 | Typ: Operatorer kan inte användas på den publicerade ytan av en WinRT-typ |
| Kompilatorfel C2920 | redefinition: "type": klassmall/generisk har redan deklarerats som "deklaration" |
| Kompilatorfel C2921 | Omdefinition: "typ": klassmall/generisk omdefinieras som "deklaration" |
| Kompilatorfel C2922 | "gränssnitt": Ett WinRT-gränssnitt får inte innehålla statiska medlemmar |
| Kompilatorfel C2923 | "type": "identifier" är inte ett giltigt mall-/generiskt typargument för parametern "parameter" |
| Kompilatorfel C2924 | __declspec(interrupt) rutinargument inte i R2 |
| Kompilatorfel C2925 | __declspec(interrupt) routine kan inte använda flyttal |
| Kompilatorfel C2926 | "identifier": en standardmedlemsinitierare är inte tillåtet för en medlem av en anonym struktur inom en union |
| Kompilatorfel C2927 | "identifierare": en funktionsmall måste anropas med minst ett argument |
| Kompilatorfel C2928 | explicit instansiering. "identifierare" är inte en funktion eller statisk datamedlem i mallklassen "klass" |
| Kompilatorfel C2929 | "deklarator": explicit instansiering; kan inte uttryckligen framtvinga och förhindra instansiering av mallklassmedlem |
| Kompilatorfel C2930 | "klass": mall-id/generisk-id omdefinieras som ett uppräkningselement i 'enum identifierare' |
| Kompilatorfel C2931 | "class1": template-id/generic-id omdefinierad som en medlemsfunktion i "class2" (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2932 | "type": template-id/generic-id omdefinierad som en datamedlem i "identifierare" (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2933 | "type": template-id/generic-id omdefinierad som typedef-medlem i "identifier" (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2934 | "type": template-id/generic-id omdefinierad som ett kapslat "objekt" av "identifierare" (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2935 | "type": template-id/generic-id omdefinierad som en global funktion (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2936 | "type": template-id/generic-id omdefinierad som en global datavariabel (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2937 | "type": template-id/generic-id omdefinierad som en global typedef (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2938 | "identifierare" : Det gick inte att specialisera aliasmallen |
| Kompilatorfel C2939 | "type": template-id/generic-id omdefinierad som en lokal datavariabel (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2940 | "type": template-id/generic-id omdefinierad som en lokal typedef (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2941 | "type": template-id/generic-id omdefinierad som ett lokalt "objekt" (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2942 | "type": template-id/generic-id omdefinierad som ett formellt argument för en funktion (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2943 | "type": template-id/generic-id definieras som ett typargument för en mall (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2944 | "type": template-id/generic-id omdefinierad som ett värdeargument för en mall (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2945 | explicit instansiering refererar inte till en specialisering av mallklass |
| Kompilatorfel C2946 | explicit instansiering; "type" är inte en specialisering för mallklass |
| Kompilatorfel C2947 | förväntade sig att ">" skulle avsluta mallargument, hittade "token" |
| Kompilatorfel C2948 | explicit instansiering; lagringsklass-specifieraren "specifier" tillåts inte vid specialisering |
| Kompilatorfel C2949 | thread_local stöds inte med /kernel |
| Kompilatorfel C2950 | Föråldrad. |
| Kompilatorfel C2951 | Mall- eller generiska deklarationer tillåts endast i globalt, namnområde eller klassens omfång. |
| Kompilatorfel C2952 | "deklaration": mall/allmän deklaration saknas mall/allmän parameterlista |
| Kompilatorfel C2953 | "type": klassmallen har redan definierats |
| Kompilatorfel C2954 | Argument för instruktionsord ligger inte inom intervallet |
| Kompilatorfel C2955 | Typ: användning av klassmall/allmän kräver mall/allmän argumentlista |
| Kompilatorfel C2956 | funktionen "function" för standardfrigöring skulle väljas som placeringsfrigöringsfunktion |
| Kompilatorfel C2957 | "token": ogiltig vänster avgränsare: förväntat < |
| Kompilatorfel C2958 | den vänstra avgränsare som hittades vid "file(line_number)" matchades inte korrekt |
| Kompilatorfel C2959 | en allmän klass eller funktion kanske inte är medlem i en mall |
| Kompilatorfel C2960 | Föråldrad. |
| Kompilatorfel C2961 | "funktion": inkonsekventa explicita instansieringar, en tidigare explicit instansiation angav inte "argument" |
| Kompilatorfel C2962 | syntaxfel: "token": den förväntade medlemsfunktionsdefinitionen för mallklassen avslutas med '}' |
| Kompilatorfel C2963 | Föråldrad. |
| Kompilatorfel C2964 | Föråldrad. |
| Kompilatorfel C2965 | __declspec(specificerare) stöds inte med /kernel |
| Kompilatorfel C2966 | "identifier1": måste ha samma __declspec(code_seg(...)) som basklassen "identifier2" (föråldrad i Visual Studio 2022.) |
| Kompilatorfel C2967 | "identifier": en åsidosättande virtuell funktion måste ha samma __declspec(code_seg(...)) som en åsidosatt virtuell funktion. Detta är föråldrat i Visual Studio 2022. |
| Kompilatorfel C2968 | "identifier": rekursiv aliasdeklaration |
| Kompilatorfel C2969 | syntaxfel: "token": den förväntade medlemsfunktionsdefinitionen slutar med '}' |
| Kompilatorfel C2970 | "type": mallparametern "parameter": "argument": ett uttryck som involverar objekt med intern länkning kan inte användas som ett argument som inte är av typen |
| Kompilatorfel C2971 | "type": mallparametern 'parameter': 'argument': en variabel med icke-statisk lagringstid kan inte användas som ett icke-typargument |
| Kompilatorfel C2972 | "type": mallparametern "parameter": typen av argument som inte är av typen är ogiltig |
| Kompilatorfel C2973 | "template": ogiltigt mallargument "number" |
| Kompilatorfel C2974 | "type": ogiltig mall/generiskt argument för "parameter", typ förväntad |
| Kompilatorfel C2975 | "type": ogiltigt mallargument för "parameter", förväntat konstant uttryck för kompileringstid |
| Kompilatorfel C2976 | "type": för få mall-/generiska argument |
| Kompilatorfel C2977 | "type": för många mall-/generiska argument |
| Kompilatorfel C2978 | syntaxfel: förväntat 'keyword1' eller 'keyword2'; hittade typ 'type'; icke-typ parametrar stöds inte i generiska typer |
| Kompilatorfel C2979 | explicita specialiseringar stöds inte i generiska objekt |
| Kompilatorfel C2980 | C++-undantagshantering stöds inte med /kernel |
| Kompilatorfel C2981 | den dynamiska formen av "nyckelord" stöds inte med /kernel |
| Kompilatorfel C2982 | "deklaration": olika __declspec(code_seg(...)) har använts: var "identifier1" nu "identifier2" |
| Kompilatorfel C2983 |
"name": en definition måste ha samma __declspec(code_seg(...)) som den tidigare deklarationen |
| Kompilatorfel C2984 | Föråldrad. |
| Kompilatorfel C2985 | "argument": argumentet för att __declspec(code_seg(...)) måste vara ett textavsnitt |
| Kompilatorfel C2986 | '__declspec(code_seg(...))' kan endast tillämpas på en klass eller en funktion |
| Kompilatorfel C2987 | En deklaration får inte ha både __declspec(code_seg('identifierare')) och __declspec(code_seg('value')) |
| Kompilatorfel C2988 | oigenkännlig malldeklaration/definition |
| Kompilatorfel C2989 | Klass: klassmall/generisk har redan deklarerats som en icke-klassmall/generisk |
| Kompilatorfel C2990 | "klass": Icke-klassmall/generisk har redan deklarerats som en klassmall/generisk" |
| Kompilatorfel C2991 | omdefiniering av mallen/den generiska parametern "parameter" |
| Kompilatorfel C2992 | "class": ogiltig eller saknas mall/allmän parameterlista |
| Kompilatorfel C2993 | typ: ogiltig typ för mallparametern "identifierare" som inte är av typen |
| Kompilatorfel C2994 | namnlös klass i mallparameterlistan |
| Kompilatorfel C2995 | "deklaration": funktionsmallen har redan definierats |
| Kompilatorfel C2996 | Funktion: definition av rekursiv funktionsmall |
| Kompilatorfel C2997 | "funktion": matrisgräns kan inte härledas från en standardmedlemsinitierare |
| Kompilatorfel C2998 | "identifierare": kan inte vara en malldefinition |
Se även
C/C++ Kompilator- och byggverktygsfel och varningar
Compiler fel C2000 - C3999, C7000 - C7999