Dela via


Microsoft C/C++-kompilatorvarningar C4000 till och med C4199

Artiklarna i det här avsnittet beskriver Microsoft C/C++-kompilatorns varningsmeddelanden C4000 till och med C4199.

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.

Varningsmeddelanden

Varning Meddelande
Kompilatorvarning (nivå 4, inte längre genererad) C4001 icke-standardtillägget "single line comment" användes
Kompilatorvarning (nivå 1, fel) C4002 för många argument för funktionsliknande makroanropidentifierare
Kompilatorvarning (nivå 1, fel) C4003 finns inte tillräckligt många argument för funktionsliknande makroanrop 'identifierare'
Kompilatorvarning (nivå 1) C4005 "identifierare": omdefiniering av makro
Kompilatorvarning (nivå 1) C4006 #undef förväntade sig en identifierare
Kompilatorvarning (nivå 3) C4007 "funktion": måste vara "attribut"
Kompilatorvarning (nivå 3) C4008 funktion'attribut' attribut ignoreras
Kompilatorvarning (nivå 1) C4010 enradskommentar innehåller radfortsättningstecken
Kompilatorvarning (nivå 3) C4013 "funktion" är odefinierad; antar att det är en extern funktion som returnerar en int
Kompilatorvarning (nivå 1) C4015 "identifierare": typ av bitfält måste vara integrerad
Kompilatorvarning (nivå 3) C4018 "uttryck": signerad/osignerad missmatchning
Kompilatorvarning (nivå 4) C4019 tom instruktion i globalt omfång
Kompilatorvarning (nivå 1) C4020 "function": för många faktiska parametrar
Kompilatorvarning (nivå 1) C4022 funktion: pekarmatchningsfel för faktisk parameter parameter_number
Kompilatorvarning (nivå 1) C4023 "funktion": baserad pekare skickad till oprototypad funktion: parameter parameternummer
Kompilatorvarning (nivå 1) C4024 "funktion": olika typer av formella och faktiska parametrar parameter_number
Kompilatorvarning (nivå 1) C4025 "funktion": baserad pekare som skickas till funktionen med variabelargument: parameter parameter_number
Kompilatorvarning (nivå 1) C4026 funktion deklarerad med formell parameterlista
Kompilatorvarning (nivå 1) C4027 funktion deklarerad utan formell parameterlista
Kompilatorvarning (nivå 1) C4028 formell parameter parameternummer skiljer sig från deklarationen
Kompilatorvarning (nivå 1) C4029 deklarerad formell parameterlista som skiljer sig från definitionen
Kompilatorvarning (nivå 1) C4030 första formella parameterlistan längre än den andra listan
Kompilatorvarning (nivå 1) C4031 den andra formella parameterlistan längre än den första listan
Kompilatorvarning (nivå 4) C4032 formell parameter parameter_number har en annan typ när den höjs upp
Kompilatorvarning (nivå 1) C4033 funktionenmåste returnera ett värde
Kompilatorvarning (nivå 1) C4034 sizeof returnerar 0
Kompilatorvarning (nivå 3) C4035 "funktion": inget returvärde
Kompilatorvarning (nivå 1) C4036 namnlös "typ" som faktisk parameter
Kompilatorvarning (nivå 1) C4038 "modifierare": illegal klassmodifierare
Kompilatorvarning (nivå 1) C4041 kompilatorgräns: avsluta webbläsarutdata
Kompilatorvarning (nivå 1) C4042 "identifierare": har en felaktig lagringsklass
Kompilatorvarning (nivå 1) C4045 "array": överträdelse av arraygränser
Kompilatorvarning (nivå 1) C4047 "operator"identifier1" skiljer sig i indirekta nivåer från "identifier2"
Kompilatorvarning (nivå 1) C4048 olika index för arrayer: 'identifier1' och 'identifier2'
Kompilatorvarning (nivå 1) C4049 kompilatorgräns: avslutar rapportering av radnummer
Kompilatorvarning (nivå 1) C4051 typkonvertering; eventuell dataförlust
Kompilatorvarning (nivå 1 och nivå 4) C4052 funktionsdeklarationer skiljer sig; en innehåller variabelargument
Kompilatorvarning (nivå 4) C4053 en tom operand för "?:"
Kompilatorvarning (nivå 1) C4055 "konvertering" : från datapekaren "type1" till funktionspekaren "type2"
Kompilatorvarning (nivå 2) C4056 overflow i aritmetik med flyttalskonstanter
Kompilatorvarning (nivå 4) C4057 "operator": "identifier1" skiljer sig i indirektion till något olika grundtyper från "identifier2"
Kompilatorvarning (nivå 3, av) C4060 switch-instruktionen innehåller inga "case-etiketter" eller "default-etiketter"
Kompilatorvarning (nivå 4, av) C4061 enumeratoridentifierarei växeln enumuppräkninghanteras inte uttryckligen av en case etikett
Kompilatorvarning (nivå 4, av) C4062 identifierarei växeln enumuppräkninghanteras inte
Kompilatorvarning (nivå 4) C4063 case "identifier" är inte ett giltigt värde för byte av enumuppräkning"
Kompilatorvarning (nivå 4) C4064 byte av ofullständig enumuppräkning
Kompilatorvarning (nivå 3, av) C4065 switch-instruktionen innehåller etikettendefaultmen intecase
Kompilatorvarning (nivå 3) C4066 tecken bortom det första i bred-tecken-konstant ignoreras
Kompilatorvarning (nivå 1) C4067 oväntade tecken efter förprocessordirektivet – ny rad förväntades
Kompilatorvarning (nivå 1) C4068 okänd pragmaidentifierare
Kompilatorvarning C4069 long double har samma precision som double
Kompilatorvarning (nivå 3) C4073 initierare som placeras i initieringsområdet för biblioteket
Kompilatorvarning (nivå 1) C4074 Initierare som placeras i den reserverade initieringsområden för kompilatorn
Kompilatorvarning (nivå 1) C4075 initierare läggs i okänt initieringsområde
Kompilatorvarning (nivå 1) C4076 "type_modifier": kan inte användas med typen "typename"
Kompilatorvarning (nivå 1) C4077 okänt check_stack alternativ
Kompilatorvarning (nivå 1) C4079 oväntad symbolsymbol
Kompilatorvarning (nivå 1) C4080 förväntad identifierare för segmentnamn. hittade symbolen
Kompilatorvarning (nivå 1) C4081 förväntad "token1"; hittadetoken2
Kompilatorvarning (nivå 1) C4083 förväntade "token"; hittade identifierarenidentifierare
Kompilatorvarning (nivå 1) C4085 förväntade pragmaparametern varaonelleroff
Kompilatorvarning (nivå 1) C4086 förväntade pragmaparametern vara "1", "2", "4", "8" eller "16"
Kompilatorvarning (nivå 1) C4087 funktion: deklareras med parameterlistanvoid
Kompilatorvarning (nivå 1) C4088 "funktion" : matchningsfel för pekaren i den faktiska parametern parameter_number, formell parameter parameter_number
Kompilatorvarning (nivå 1) C4089 "funktion": olika typer för faktisk parameter parameter_number, formell parameter parameter_number
Kompilatorvarning (nivå 1) C4090 "operation": olika "modifierare" kvalifikationer
Kompilatorvarning (nivå 1 och nivå 2) C4091 nyckelordignoreras till vänster omtypnär ingen variabel deklareras
Kompilatorvarning (nivå 4) C4092 sizeof returnerar "osignerad lång"
Kompilatorvarning (nivå 2) C4094 otaggad 'token' har inte deklarerat några symboler
Kompilatorvarning (nivå 1) C4096 "identifierare": gränssnittet är inte ett COM-gränssnitt; skickas inte till IDL
Kompilatorvarning (nivå 1) C4097 förväntade pragmaparametern vararestoreelleroff
Kompilatorvarning (nivå 1) C4098 funktionenfunktionenvoidreturnerar ett värde
Kompilatorvarning (nivå 2) C4099 "identifier": typnamn först sett med "object_type1" nu sett med "object_type2"
Kompilatorvarning (nivå 4) C4100 "identifierare": orefererad parameter
Kompilatorvarning (nivå 3 och nivå 4) C4101 "identifierare": orefererad lokal variabel
Kompilatorvarning (nivå 3) C4102 "etikett": orefererad etikett
Kompilatorvarning (nivå 1) C4103 Efter att ha inkluderat rubriken ändrades justeringen, vilket kan bero på att #pragma pack(pop) saknas.
Kompilatorvarning (nivå 1) C4109 oväntad identifierare 'identifierare'
Kompilatorvarning (nivå 1 och nivå 4) C4112 #line kräver ett heltal mellan 1 och line_count
Kompilatorvarning (nivå 1) C4113 "identifier1" skiljer sig i parameterlistor från "identifier2"
Kompilatorvarning (nivå 1) C4114 samma typ av kvalificerare som används mer än en gång
Kompilatorvarning (nivå 1 och nivå 4) C4115 "typ": namngiven typdefinition inom parenteser
Kompilatorvarning (nivå 1) C4116 namnlös typdefinition inom parenteser
Kompilatorvarning (nivå 1) C4117 makronamnetnamnär reserverat,kommandoignoreras
Kompilatorvarning (nivå 1) C4119 olika baser "base1" och "base2" angivna
Kompilatorvarning (nivå 1) C4120 baserat/ogrundat matchningsfel
Kompilatorvarning (nivå 4) C4121 "symbol": en medlems justering var känslig för förpackning
Kompilatorvarning (nivå 1) C4122 "funktion": alloc_text gäller endast funktioner med C-länkning
Kompilatorvarning (nivå 1) C4123 olika basuttryck har angetts
Kompilatorvarning (nivå 1) C4124 __fastcall med stackkontroll är ineffektivt
Kompilatorvarning (nivå 4) C4125 decimaltal avslutar oktal escape-sekvens
Kompilatorvarning (nivå 4) C4127 villkorsuttryck är konstant
Kompilatorvarning (nivå 1) C4129 "tecken": okänd teckenrymningssekvens
Kompilatorvarning (nivå 4) C4130 "operator": logisk operation på adressen till strängkonstanten
Kompilatorvarning (nivå 4) C4131 "funktion": använder deklarator i gammal stil
Kompilatorvarning (nivå 4) C4132 objekt: const objekt bör initieras
Kompilatorvarning (nivå 1 och nivå 3) C4133 "uttryck": inkompatibla typer – från "type1" till "type2"
Kompilatorvarning C4137 "function": inget returvärde från flyttalsfunktionen
Kompilatorvarning (nivå 1) C4138 "*/" hittades utanför kommentaren
Kompilatorvarning (nivå 1, fel) C4141 "modifierare": används mer än en gång
Kompilatorvarning (nivå 1) C4142 "identifierare": godartad omdefiniering av typ
Kompilatorvarning (nivå 1) C4143 pragma "same_seg" stöds inte; använd __based-allokering
Kompilatorvarning (nivå 1) C4144 uttryck: relationalt uttryck som switch-uttryck
Kompilatorvarning (nivå 1) C4145 "expression1": relationsuttryck som växeluttryck; eventuell förvirring med "expression2"
Kompilatorvarning (nivå 2) C4146 Enär minusoperator tillämpas på en osignerad typ, förblir resultatet osignerat
Kompilatorvarning (nivå 2) C4150 borttagning av pekaren till ofullständig typtyp; ingen destructor anropad
Kompilatorvarning (nivå 4) C4152 icke-standardtillägg, funktions-/datapekarkonvertering i uttryck
Kompilatorvarning (nivå 1) C4153 funktions-/datapekarkonvertering i uttryck
Kompilatorvarning (nivå 1) C4154 borttagning av ett matrisuttryck. konvertering till angiven pekare
Kompilatorvarning (nivå 1) C4155 borttagning av ett matrisuttryck utan att använda matrisformen "ta bort"
Kompilatorvarning (nivå 2) C4156 borttagning av ett matrisuttryck utan att använda matrisformen "ta bort". matrisformulär ersatt
Kompilatorvarning (nivå 1) C4157 pragma ignorerades av C-kompilatorn
Kompilatorvarning (nivå 1) C4158 anta #pragma pointers_to_members(full_generality, arvtyp)
Kompilatorvarning (nivå 3) C4159 #pragma pragma(pop,...): har poppat tidigare push-identifierareidentifierare"
Kompilatorvarning (nivå 1) C4160 #pragma pragma(pop,...): hittade inte tidigare push-identifierareidentifierare
Kompilatorvarning (nivå 3) C4161 #pragma pragma(pop...): fler pops än pushar
Kompilatorvarning (nivå 1) C4162 "identifierare": ingen funktion med C-länkning hittades
Kompilatorvarning (nivå 1) C4163 "identifierare": inte tillgänglig som en inbyggd funktion
Kompilatorvarning (nivå 1) C4164 "funktion": inbyggd funktion har inte deklarerats
Kompilatorvarning (nivå 3, av) C4165 "HRESULT" konverteras till "bool"; är du säker på att det här är vad du vill?
Kompilatorvarning (nivå 1) C4166 olaglig anropskonvention för konstruktor/destruktor
Kompilatorvarning (nivå 1) C4167 "funktion": endast tillgänglig som en inbyggd funktion
Kompilatorvarning (nivå 1) C4168 kompilatorgräns: av felsökartyper tar du bort programdatabasendatabasoch återskapar
Kompilatorvarning (nivå 1) C4172 returnerar adressen för den lokala eller den tillfälliga variabeln optional_context
Kompilatorvarning (nivå 1) C4174 "namn": inte tillgängligt som en #pragma component
Kompilatorvarning (nivå 1) C4175 #pragma component(browser, on): webbläsarinformation måste först anges på kommandoraden
Kompilatorvarning (nivå 1) C4176 "underkomponent": okänd underkomponent för #pragma component webbläsare
Kompilatorvarning (nivå 1) C4177 #pragma pragmaska endast användas i globalt omfång eller namnområdesomfång
Kompilatorvarning (nivå 1) C4178 case konstanten 'konstant' för stor för typen av switch-uttrycket
Kompilatorvarning (nivå 4, inte längre genererad) C4179 "//*": tolkas som "/" och "/\*": förvirring med standard "//" kommentarer
Kompilatorvarning (nivå 1) C4180 kvalificeraren som tillämpas på funktionstypen har ingen betydelse och därför ignoreras.
Kompilatorvarning C4181 Kvalifikator som tillämpas på referenstyp ignoreras.
Kompilatorvarning (nivå 1) C4182 #include kapslingsnivån är nest_count djup; möjlig oändlig rekursion
Kompilatorvarning (nivå 1) C4183 "identifierare": returtyp saknas; antas vara en medlemsfunktion som returnerar "int"
Kompilatorvarning (nivå 1) C4185 ignorerar okänd #import attribut 'attribut'
Kompilatorvarning (nivå 1) C4186 # import attributet 'attributet' kräver argumentantal argument; ignoreras
Kompilatorvarning (nivå 1) C4187 #import attributenattribute1ochattribute2är inkompatibla. båda ignoreras
Kompilatorvarning (nivå 1) C4188 konstant uttryck är inte integrerad
Kompilatorvarning (nivå 3 och nivå 4) C4189 "identifierare": lokal variabel initieras men refereras inte
Kompilatorvarning (nivå 1) C4190 "identifier1" har C-länkning angivet, men returnerar "identifier2" som är inkompatibel med C
Kompilatorvarning (nivå 3, av) C4191 "åtgärd": osäker konvertering från "type_of_expression" till "type_required"
Om du gör ett funktionsanrop med hjälp av den resulterande pekaren kan programmet misslyckas
Kompilatorvarning (nivå 3) C4192 utesluter automatisktidentifierarenär typbiblioteket importerasbibliotek
Kompilatorvarning (nivå 3) C4193 #pragma warning(pop): ingen matchande "#pragma warning(push)"
Kompilatorvarning (nivå 1) C4194 #pragma start_map_region kan inte kapslas in och ignoreras
Kompilatorvarning (nivå 1) C4195 #pragma stop_map_region används utan att matcha #pragma start_map_region; Ignoreras
Kompilatorvarning (nivå 1) C4196 expected "token1" eller "token2"; hittade "token3"
Kompilatorvarning (nivå 3) C4197 "type": volatile på högsta nivån i gjutningen ignoreras
Kompilatorvarning (nivå 1, nivå 2, nivå 3 och nivå 4) C4199 meddelande

Se även

C/C++ Kompilator- och byggverktygsfel och varningar
Kompilerarvarningar C4000 – C5999