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 C2500 | "identifier1": "identifier2" är redan en direkt basklass |
| Kompilatorfel C2501 | "identifierare": "__declspec(specifier)" kan endast tillämpas på strukturer, unioner, klasser eller icke-signerade bitfältmedlemmar." |
| Kompilatorfel C2502 | "identifierare": för många åtkomstmodifierare i basklassen |
| Kompilatorfel C2503 | "klass": basklasser får inte innehålla matriser med noll storlek |
| Kompilatorfel C2504 | "klass": odefinierad basklass |
| Kompilatorfel C2505 | "symbol": "__declspec(specifier)" kan endast tillämpas på deklarationer eller definitioner av globala objekt eller statiska datamedlemmar |
| Kompilatorfel C2506 | 'member': '__declspec(specifier)' kan inte tillämpas på den här symbolen |
| Kompilatorfel C2507 | "identifierare": för många virtuella modifierare i basklassen |
| Kompilatorfel C2508 | "identifierare": "__declspec(specifier1)" kan inte kombineras med "__declspec(specifier2)" |
| Kompilatorfel C2509 | "identifierare": medlemsfunktionen deklareras inte i "klass" |
| Kompilatorfel C2510 | "identifier": till vänster om "::" måste vara en klass/struktur/union |
| Kompilatorfel C2511 | "identifier": överbelastad medlemsfunktion hittades inte i "klass" |
| Kompilatorfel C2512 | "identifierare": ingen lämplig standardkonstruktor tillgänglig |
| Kompilatorfel C2513 | '*type': ingen variabel deklarerad före '=' |
| Kompilatorfel C2514 | "class": klassen har inga konstruktorer |
| Kompilatorfel C2515 | "identifierare": "vtguard" kan endast tillämpas på klassdeklarationer eller definitioner |
| Kompilatorfel C2516 | "klass": är inte en juridisk basklass |
| Kompilatorfel C2517 | "identifierare": rätten till "::" är odefinierad |
| Kompilatorfel C2518 | nyckelordet "keyword" är ogiltigt i en basklasslista. förväntade ett class namn |
| Kompilatorfel C2519 | "identifierare": WinRT-attribut får endast innehålla offentliga fält |
| Kompilatorfel C2520 | "klass": ingen icke-explicit konstruktor tillgänglig för implicit konvertering |
| Kompilatorfel C2521 | En destruktor eller finaliserare tar inga argument |
| Kompilatorfel C2522 | "identifierare": Överlagringsidentifieraren kan inte användas på "identifier1" eftersom den redan har angetts för "identifier2" |
| Kompilatorfel C2523 | "class::~identifier": destruktör/finalisator tag-missmatch |
| Kompilatorfel C2524 | "identifier": en destruktor/slutförare måste ha en void-parameterlista |
| Kompilatorfel C2525 | "identifierare": Parametern "identifier1" heter "identifier2" på basfunktionen och måste matchas i en publicerad implementering |
| Kompilatorfel C2526 | "identifier1": C-länkfunktionen kan inte returnera C++-klassen "identifier2" |
| Kompilatorfel C2527 | "identifier": DefaultOverload kan inte anges för både "funktion1" och "funktion2". Ta bort en specifikation eller byt namn på funktionen under implementeringen |
| Kompilatorfel C2528 | "identifierare": pekare till referens är ogiltig |
| Kompilatorfel C2529 | "identifierare": referensen till referensen är olaglig |
| Kompilatorfel C2530 | "identifikator": referenser måste initieras |
| Kompilatorfel C2531 | "identifierare": referens till ett bitfält som är ogiltigt |
| Kompilatorfel C2532 | "identifier": ogiltig modifierare för referens |
| Kompilatorfel C2533 | "identifier": konstruktorer får inte ha en returtyp |
| Kompilatorfel C2534 | "identifierare": konstruktorn kan inte returnera ett värde |
| Kompilatorfel C2535 | "identifierare": medlemsfunktionen har redan definierats eller deklarerats |
| Kompilatorfel C2536 | Föråldrad. |
| Kompilatorfel C2537 | "specifikatör": olaglig länkningsspecifikation |
| Kompilatorfel C2538 | Föråldrad. |
| Kompilatorfel C2539 | Föråldrad. |
| Kompilatorfel C2540 | icke-konstant uttryck som matrisgräns |
| Kompilatorfel C2541 | "identifierare": kan inte ta bort objekt som inte är pekare |
| Kompilatorfel C2542 | "identifierare": klassobjektet har ingen konstruktor för initiering |
| Kompilatorfel C2543 | förväntade ']' för operatorn '[]' |
| Kompilatorfel C2544 | förväntade ')' för operatorn '()' |
| Kompilatorfel C2545 | operator: det går inte att hitta en överlagrad operator |
| Kompilatorfel C2546 | "identifierare": när en typ definieras i både en PIA och en no-PIA måste PIA refereras först |
| Kompilatorfel C2547 | "identifierare": Alla parametrar för en publicerad metod måste uttryckligen namnges i deklarationen |
| Kompilatorfel C2548 | "function": standardargument för parameterparameter saknas |
| Kompilatorfel C2549 | användardefinierad konvertering kan inte ange en returtyp |
| Kompilatorfel C2550 | "identifierare": konstruktorinitieringslistor tillåts endast för konstruktordefinitioner |
| Kompilatorfel C2551 | Typen "void *" behöver explicit typomvandling |
| Kompilatorfel C2552 | "identifierare": Icke-aggregat kan inte initieras med en initialiseringslista |
| Kompilatorfel C2553 | 'typederived_class::function': returtypen för åsidosättande av virtuell funktion skiljer sig från 'typebase_class::function' |
| Kompilatorfel C2554 | "variabel": "constinit" tillåts endast för en variabeldeklaration med statisk lagringstid eller trådlagringstid |
| Kompilatorfel C2555 | "derived_class::function": Åsidosättande returtyp för virtuell funktion skiljer sig och är inte samvariant från "base_class::function" |
| Kompilatorfel C2556 | "function1": överlagrade funktioner skiljer sig endast efter returtyp från "function2" |
| Kompilatorfel C2557 | "identifierare": Privata och skyddade medlemmar kan inte initieras utan konstruktor |
| Kompilatorfel C2558 | klass "klass": ingen tillgänglig kopieringskonstruktor eller kopieringskonstruktorn deklareras som "explicit" |
| Kompilatorfel C2559 | "identifier": kan inte överbelasta en medlemsfunktion utan ref-kvalificerare med en medlemsfunktion med ref-kvalificerare |
| Kompilatorfel C2560 | "identifier": kan inte överlagra en metod med referenskvalificerare med en metod utan referenskvalificerare" |
| Kompilatorfel C2561 | Funktion: funktionen måste returnera ett värde |
| Kompilatorfel C2562 | "function": funktionen "void" returnerar ett värde |
| Kompilatorfel C2563 | matchningsfel i den formella parameterlistan |
| Kompilatorfel C2564 | Föråldrad. |
| Kompilatorfel C2565 | "identifierare": ref-qualifier är olagligt för konstruktorer/destruktorer |
| Kompilatorfel C2566 | överlagrad funktion i villkorsuttryck |
| Kompilatorfel C2567 | det går inte att öppna metadata i "filnamn", possible_reason |
| Kompilatorfel C2568 | "identifierare": det går inte att lösa funktionsöverbelastningen |
| Kompilatorfel C2569 | "identifier": enum/union kan inte användas som basklass |
| Kompilatorfel C2570 | "identifierare": union kan inte ha basklasser |
| Kompilatorfel C2571 | "identifier": virtuell funktion kan inte vara i union "union" |
| Kompilatorfel C2572 | "function": omdefinition av standardargument: parameternummer |
| Kompilatorfel C2573 | "klass": det går inte att ta bort pekare till objekt av den här typen, eftersom klassen inte har någon icke-placeringsspecifik överlagring för "operator delete". Använd ::delete eller lägg till "operator delete(void*)" i klassen |
| Kompilatorfel C2574 | "funktion": kan inte deklareras som statisk |
| Kompilatorfel C2575 | "identifier": endast baser och medlemsfunktioner kan vara virtuella |
| Kompilatorfel C2576 | "identifier": kan inte införa en ny virtuell metod som 'public'. Överväg att göra metoden icke-virtuell eller ändra tillgängligheten till "intern" eller "skyddad privat" |
| Kompilatorfel C2577 | "identifier": en destruktor/finalizer kan inte ha en returtyp |
| Kompilatorfel C2578 | "klass": typen får inte ha en "skyddad" eller "skyddad offentlig" konstruktor |
| Kompilatorfel C2579 | det går inte att lösa typen typ (offset). Det förväntas i filnamn |
| Kompilatorfel C2580 | "identifierare": flera versioner av standardfunktioner för specialmedlemmar tillåts inte |
| Kompilatorfel C2581 | "type": den statiska funktionen operator =är ogiltig |
| Kompilatorfel C2582 | Funktionen operator är inte tillgänglig i typ |
| Kompilatorfel C2583 | "identifierare": "const/volatile" "this" pekare är olaglig för konstruktorer/destruktorer |
| Kompilatorfel C2584 | "klass": direktbasen "base_class2" är otillgänglig. redan en bas av "base_class1" |
| Kompilatorfel C2585 | explicit konvertering till "typ" är tvetydig |
| Kompilatorfel C2586 | felaktig användardefinierad konverteringssyntax: olagliga indirektioner |
| Kompilatorfel C2587 | "identifierare": otillåten användning av lokal variabel som standardparameter |
| Kompilatorfel C2588 | '::~identifier': otillåten global destruktor/finalisator |
| Kompilatorfel C2589 | 'identifier': ogiltig token till höger om '::' |
| Kompilatorfel C2590 | "identifierare": endast en konstruktor kan ha en bas-/medlemsinitierarlista |
| Kompilatorfel C2591 | ExclusiveTo kan inte använda "type" som argument. Endast en referensklass är ett giltigt argument |
| Kompilatorfel C2592 | "klass": "base_class2" ärvs från "base_class1" och kan inte anges på nytt |
| Kompilatorfel C2593 | Operatoridentifieraren är tvetydig |
| Kompilatorfel C2594 | operator: tvetydiga konverteringar från type1 till type2 |
| Kompilatorfel C2595 | "Identifierare" En WinRT-attributtyp måste vara förseglad |
| Kompilatorfel C2596 | "identifier" Ett WinRT-attributfält kan bara vara en "public enum class", "int", "unsigned int", "bool", "Platform::Type", "Platform::String" eller "Windows::Foundation::HResult" |
| Kompilatorfel C2597 | illegal referens till icke-statisk medlem 'identifier' |
| Kompilatorfel C2598 | länkningsspecifikationen måste finnas i ett globalt omfång |
| Kompilatorfel C2599 | "identifier": framåtriktad deklaration av en hanterad/WinRT-uppräkning är inte tillåtet |
Se även
C/C++ Kompilator- och byggverktygsfel och varningar
Compiler fel C2000 - C3999, C7000 - C7999