Upozornění kompilátoru Microsoft C/C++ C4000 až C4199
Články v této části popisují upozornění kompilátoru Microsoft C/C++ C4000 až C4199.
Důležité
Kompilátory a nástroje sestavení sady Visual Studio můžou hlásit mnoho druhů chyb a upozornění. Po nalezení chyby nebo upozornění můžou nástroje sestavení předpokládat záměr kódu a pokusit se pokračovat, aby bylo možné nahlásit více problémů současně. Pokud nástroje promítnou nesprávný předpoklad, nemusí se na váš projekt vztahovat pozdější chyby nebo upozornění. Když opravíte problémy v projektu, vždy začněte první chybou nebo upozorněním, která se hlásí, a často se znovu sestaví. Jedním z oprav může dojít k mnoha následným chybám.
Pokud chcete získat nápovědu pro konkrétní diagnostickou zprávu v sadě Visual Studio, vyberte ji v okně Výstup a stiskněte klávesu F1 . Visual Studio otevře stránku dokumentace pro tuto chybu, pokud existuje. K vyhledání článků o konkrétních chybách nebo upozorněních můžete použít také vyhledávací nástroj v horní části stránky. Nebo si projděte seznam chyb a upozornění podle nástroje a zadejte obsah na této stránce.
Poznámka:
Ne každá chyba nebo upozornění sady Visual Studio jsou zdokumentované. V mnoha případech poskytuje diagnostická zpráva všechny dostupné informace. Pokud jste se dostali na tuto stránku, když jste použili klávesu F1 a myslíte si, že chybová zpráva nebo zpráva s upozorněním potřebuje další vysvětlení, dejte nám vědět. Pomocí tlačítek pro zpětnou vazbu na této stránce můžete vyvolat problém s dokumentací na GitHubu. Pokud se domníváte, že chyba nebo upozornění je nesprávné nebo jste zjistili jiný problém se sadou nástrojů, nahlašte problém s produktem na webu komunity vývojářů. Můžete také odeslat zpětnou vazbu a zadat chyby v integrovaném vývojovém prostředí ( IDE). V sadě Visual Studio přejděte na řádek nabídek a zvolte Možnost Odeslat > zpětnou vazbu > o problému nebo odešlete návrh pomocí funkce Poslat návrh poslat > názor>. Některá témata chyb kompilátoru byla vytvořena, která kompilátor nevygeneruje, a teď se přesměrují na tuto stránku.
Další pomoc s chybami a upozorněními najdete ve fórech Q&A pro Microsoft Learn. Nebo vyhledejte chybu nebo číslo upozornění na webu komunity vývojářů v sadě Visual Studio C++. Řešení můžete vyhledat také ve službě Stack Overflow .
Odkazy na další zdroje nápovědy a komunity najdete v nápovědě a komunitě visual C++.
Zprávy s upozorněním
Upozorňující | Zpráva |
---|---|
Upozornění kompilátoru (úroveň 4, už se nevygeneruje) C4001 | Bylo použito nestandardní rozšíření "jednořádkový komentář". |
Upozornění kompilátoru (úroveň 1, chyba) C4002 | Příliš mnoho argumentů pro vyvolání makra typu function-like 'identifier' |
Upozornění kompilátoru (úroveň 1, chyba) C4003 | nedostatek argumentů pro vyvolání makra podobného funkci "identifikátor" |
Upozornění kompilátoru (úroveň 1) C4005 | Identifikátor: redefinition makra |
Upozornění kompilátoru (úroveň 1) C4006 | #undef byl očekáváno identifikátor. |
Upozornění kompilátoru (úroveň 3) C4007 | "function": musí být atribut. |
Upozornění kompilátoru (úroveň 3) C4008 | 'function': 'attribute' attribute ignored |
Upozornění kompilátoru (úroveň 1) C4010 | Jednořádkový komentář obsahuje znak pokračování řádku. |
Upozornění kompilátoru (úroveň 3) C4013 | Nedefinovaná funkce; za předpokladu, že extern vrací int |
Upozornění kompilátoru (úroveň 1) C4015 | 'identifier': Typ bitového pole musí být integrální. |
Upozornění kompilátoru (úroveň 3) C4018 | Výraz: neshoda se znaménky nebo nepřiřazenými znaménkami |
Upozornění kompilátoru (úroveň 4) C4019 | empty – příkaz v globálním oboru |
Upozornění kompilátoru (úroveň 1) C4020 | 'function': Příliš mnoho skutečných parametrů |
Upozornění kompilátoru (úroveň 1) C4022 | 'function': neshoda ukazatele pro skutečný parametr 'parameter_number' |
Upozornění kompilátoru (úroveň 1) C4023 | 'function': ukazatel na základě předaný do neprotypované funkce: parametr 'parameter_number' |
Upozornění kompilátoru (úroveň 1) C4024 | 'function': různé typy formálního a skutečného parametru "parameter_number" |
Upozornění kompilátoru (úroveň 1) C4025 | 'function': ukazatel založený na funkci s proměnnými argumenty: parametr 'parameter_number' |
Upozornění kompilátoru (úroveň 1) C4026 | funkce deklarovaná se seznamem formálních parametrů |
Upozornění kompilátoru (úroveň 1) C4027 | funkce deklarovaná bez formálního seznamu parametrů |
Upozornění kompilátoru (úroveň 1) C4028 | formal parameter parameter_number different from declaration |
Upozornění kompilátoru (úroveň 1) C4029 | deklarovaný formální seznam parametrů, který se liší od definice |
Upozornění kompilátoru (úroveň 1) C4030 | první formální seznam parametrů delší než druhý seznam |
Upozornění kompilátoru (úroveň 1) C4031 | druhý formální seznam parametrů delší než první seznam |
Upozornění kompilátoru (úroveň 4) C4032 | formal parameter parameter_number has different type when promoted |
Upozornění kompilátoru (úroveň 1) C4033 | Funkce musí vracet hodnotu. |
Upozornění kompilátoru (úroveň 1) C4034 | sizeof vrátí hodnotu 0 |
Upozornění kompilátoru (úroveň 3) C4035 | 'function': žádná návratová hodnota |
Upozornění kompilátoru (úroveň 1) C4036 | bez názvu type jako skutečný parametr |
Upozornění kompilátoru (úroveň 1) C4038 | 'modifikátor': neplatný modifikátor třídy |
Upozornění kompilátoru (úroveň 1) C4041 | limit kompilátoru: ukončování výstupu prohlížeče |
Upozornění kompilátoru (úroveň 1) C4042 | Identifikátor: má chybnou třídu úložiště. |
Upozornění kompilátoru (úroveň 1) C4045 | 'array': hranice pole přetečení |
Upozornění kompilátoru (úroveň 1) C4047 | Operátor: Identifikátor1 se liší v úrovních nepřímých výrazů od identifikátoru 2. |
Upozornění kompilátoru (úroveň 1) C4048 | různé dolní indexy pole: "identifier1" a "identifier2" |
Upozornění kompilátoru (úroveň 1) C4049 | limit kompilátoru: ukončování emisí čísel řádků |
Upozornění kompilátoru (úroveň 1) C4051 | převod typů; možné ztráty dat |
Upozornění kompilátoru (úroveň 1 a úroveň 4) C4052 | deklarace funkcí se liší; jedna obsahuje argumenty proměnných. |
Upozornění kompilátoru (úroveň 4) C4053 | jeden operand void pro '?: ' |
Upozornění kompilátoru (úroveň 1) C4055 | 'conversion' : from data pointer 'type1' to function pointer 'type2' |
Upozornění kompilátoru (úroveň 2) C4056 | přetečení v aritmetické konstantě s plovoucí desetinou čárkou |
Upozornění kompilátoru (úroveň 4) C4057 | "operator": 'identifier1' se liší v nepřímých odkazech na mírně odlišné základní typy od 'identifier2'. |
Upozornění kompilátoru (úroveň 3, vypnuto) C4060 | příkaz switch neobsahuje popisky case ani default. |
Upozornění kompilátoru (úroveň 4, vypnuto) C4061 | Enumerator 'identifier' in switch of enum 'enumeration' is not explicit handled by case a label |
Upozornění kompilátoru (úroveň 4, vypnuto) C4062 | Enumerator 'identifier' in switch of enum 'enumeration' is not handled |
Upozornění kompilátoru (úroveň 4) C4063 | Case 'identifier' is not a valid value for switch of enum 'enumeration' |
Upozornění kompilátoru (úroveň 4) C4064 | switch of incomplete enum 'enumeration' |
Upozornění kompilátoru (úroveň 3, vypnuto) C4065 | příkaz switch obsahuje popisky 'default ' ale ne 'case ' |
Upozornění kompilátoru (úroveň 3) C4066 | znaky nad rámec první v širokoznakových konstantách ignorovány |
Upozornění kompilátoru (úroveň 1) C4067 | neočekávané tokeny následující direktivy preprocesoru – očekává se nový řádek |
Upozornění kompilátoru (úroveň 1) C4068 | neznámý direktiva pragma 'identifier' |
Upozornění kompilátoru C4069 | long double je stejná přesnost jako double |
Upozornění kompilátoru (úroveň 3) C4073 | Inicializátory vložené do oblasti inicializace knihovny |
Upozornění kompilátoru (úroveň 1) C4074 | Inicializátory vložené do vyhrazené inicializační oblasti kompilátoru |
Upozornění kompilátoru (úroveň 1) C4075 | Inicializátory vložené do nerozpoznané oblasti inicializace |
Upozornění kompilátoru (úroveň 1) C4076 | 'type_modifier': nejde použít s typem type 'typename' |
Upozornění kompilátoru (úroveň 1) C4077 | neznámá možnost check_stack |
Upozornění kompilátoru (úroveň 1) C4079 | neočekávaný token token |
Upozornění kompilátoru (úroveň 1) C4080 | očekávaný identifikátor názvu segmentu; found 'symbol' |
Upozornění kompilátoru (úroveň 1) C4081 | byl očekáváno token1; byl nalezen token2. |
Upozornění kompilátoru (úroveň 1) C4083 | byl očekáváno "token"; nalezen identifikátor 'identifikátor'. |
Upozornění kompilátoru (úroveň 1) C4085 | očekávaný parametr pragma, který má být 'on ' nebo 'off ' |
Upozornění kompilátoru (úroveň 1) C4086 | očekávaný parametr pragma má být 1, 2, 4, 8 nebo 16. |
Upozornění kompilátoru (úroveň 1) C4087 | 'function': deklarováno se seznamem parametrů 'void ' |
Upozornění kompilátoru (úroveň 1) C4088 | 'function': neshoda ukazatele ve skutečném parametru parameter_number, formální parametr parameter_number |
Upozornění kompilátoru (úroveň 1) C4089 | 'function': různé typy ve skutečném parametru 'parameter_number', formální parametr 'parameter_number' |
Upozornění kompilátoru (úroveň 1) C4090 | "operation": různé kvalifikátory modifikátoru |
Upozornění kompilátoru (úroveň 1 a úroveň 2) C4091 | 'keyword': ignorováno nalevo od 'type' pokud není deklarována žádná proměnná |
Upozornění kompilátoru (úroveň 4) C4092 | sizeof vrátí "unsigned long" (bez znaménka long). |
Upozornění kompilátoru (úroveň 2) C4094 | Neoznačené tokeny deklarovaly žádné symboly. |
Upozornění kompilátoru (úroveň 1) C4096 | Identifikátor: rozhraní není rozhraní MODELU COM; nebude generováno do IDL. |
Upozornění kompilátoru (úroveň 1) C4097 | očekávaný parametr pragma, který má být 'restore ' nebo 'off ' |
Upozornění kompilátoru (úroveň 1) C4098 | 'function': 'void ' function returning a value |
Upozornění kompilátoru (úroveň 2) C4099 | Identifikátor: Název typu, který se poprvé zobrazil pomocí object_type1, se teď zobrazil pomocí object_type2 |
Upozornění kompilátoru (úroveň 4) C4100 | 'identifier': unreferenced formal parameter |
Upozornění kompilátoru (úroveň 3 a úroveň 4) C4101 | 'identifier': unreferenced local variable |
Upozornění kompilátoru (úroveň 3) C4102 | 'label': unreferenced label |
Upozornění kompilátoru (úroveň 1) C4103 | zarovnání se po zahrnutí záhlaví změnilo, příčinou může být chybějící #pragma pack(pop) |
Upozornění kompilátoru (úroveň 1) C4109 | neočekávaný identifikátor identifikátor |
Upozornění kompilátoru (úroveň 1 a úroveň 4) C4112 | #line vyžaduje celé číslo mezi 1 a "line_count". |
Upozornění kompilátoru (úroveň 1) C4113 | Identifikátor1 se liší v seznamech parametrů od identifikátoru 2. |
Upozornění kompilátoru (úroveň 1) C4114 | stejný kvalifikátor typu použitý více než jednou |
Upozornění kompilátoru (úroveň 1 a úroveň 4) C4115 | 'type': definice pojmenovaného typu v závorkách |
Upozornění kompilátoru (úroveň 1) C4116 | Definice bez názvu typu v závorkách |
Upozornění kompilátoru (úroveň 1) C4117 | název makra name je rezervovaný, příkaz se ignoruje. |
Upozornění kompilátoru (úroveň 1) C4119 | různé základny "base1" a "base2" zadané |
Upozornění kompilátoru (úroveň 1) C4120 | na základě nebo neshodě založené na základech |
Upozornění kompilátoru (úroveň 4) C4121 | "symbol": zarovnání člena bylo citlivé na balení |
Upozornění kompilátoru (úroveň 1) C4122 | "function": alloc_text použitelné pouze pro funkce s propojením jazyka C |
Upozornění kompilátoru (úroveň 1) C4123 | různé základní výrazy zadané |
Upozornění kompilátoru (úroveň 1) C4124 | __fastcall s kontrolou zásobníku je neefektivní |
Upozornění kompilátoru (úroveň 4) C4125 | desetinná číslice ukončí osmičkovou řídicí sekvenci. |
Upozornění kompilátoru (úroveň 4) C4127 | podmíněný výraz je konstantní. |
Upozornění kompilátoru (úroveň 1) C4129 | 'character': nerozpoznaná řídicí sekvence znaků |
Upozornění kompilátoru (úroveň 4) C4130 | 'operator': logická operace na adrese řetězcové konstanty |
Upozornění kompilátoru (úroveň 4) C4131 | 'function': používá deklarátor starého stylu. |
Upozornění kompilátoru (úroveň 4) C4132 | "object": const objekt by měl být inicializován. |
Upozornění kompilátoru (úroveň 1 a úroveň 3) C4133 | 'expression': nekompatibilní typy – od 'type1' do 'type2' |
Upozornění kompilátoru C4137 | 'function': žádná návratová hodnota z funkce s plovoucí desetinou čárkou |
Upozornění kompilátoru (úroveň 1) C4138 | "*/ ' nalezen mimo komentář |
Upozornění kompilátoru (úroveň 1, chyba) C4141 | "modifikátorem": používá se více než jednou |
Upozornění kompilátoru (úroveň 1) C4142 | 'identifikátor': neškodné předdefinování typu |
Upozornění kompilátoru (úroveň 1) C4143 | pragma "same_seg" se nepodporuje; použití __based přidělení |
Upozornění kompilátoru (úroveň 1) C4144 | Výraz: relační výraz jako výraz switch |
Upozornění kompilátoru (úroveň 1) C4145 | 'expression1': relační výraz jako výraz switch; možné nejasnosti s výrazem "expression2" |
Upozornění kompilátoru (úroveň 2) C4146 | unární mínus operátor použitý na nepodepsaný typ, výsledek je stále nepodepsaný |
Upozornění kompilátoru (úroveň 2) C4150 | odstranění ukazatele na neúplný typ 'type'; nevolá se žádný destruktor |
Upozornění kompilátoru (úroveň 4) C4152 | nestandardní rozšíření, převod funkce/ukazatele dat ve výrazu |
Upozornění kompilátoru (úroveň 1) C4153 | převod funkce/ukazatele dat ve výrazu |
Upozornění kompilátoru (úroveň 1) C4154 | odstranění výrazu pole; převod na zadaný ukazatel |
Upozornění kompilátoru (úroveň 1) C4155 | odstranění výrazu pole bez použití maticové formy "delete" |
Upozornění kompilátoru (úroveň 2) C4156 | odstranění výrazu pole bez použití maticové formy "delete"; maticový formulář nahrazen |
Upozornění kompilátoru (úroveň 1) C4157 | Kompilátor jazyka C ignoroval direktivu pragma. |
Upozornění kompilátoru (úroveň 1) C4158 | za předpokladu #pragma pointers_to_members(full_generality, , že "inheritance_type") |
Upozornění kompilátoru (úroveň 3) C4159 | #pragma 'pragma'(pop,...) : vyskočil dříve vložený identifikátor 'identifier' |
Upozornění kompilátoru (úroveň 1) C4160 | #pragma 'pragma'(pop,...) : nenalezlo dříve vložený identifikátor 'identifier' |
Upozornění kompilátoru (úroveň 3) C4161 | #pragma 'pragma'(pop...) : více pops než pushes |
Upozornění kompilátoru (úroveň 1) C4162 | Identifikátor: Nebyla nalezena žádná funkce s propojením jazyka C. |
Upozornění kompilátoru (úroveň 1) C4163 | Identifikátor: není k dispozici jako vnitřní funkce. |
Upozornění kompilátoru (úroveň 1) C4164 | 'function': vnitřní funkce není deklarována |
Upozornění kompilátoru (úroveň 3, vypnuto) C4165 | 'HRESULT ' je převedena na 'bool ' ; jste si jisti, že to je to, co chcete? |
Upozornění kompilátoru (úroveň 1) C4166 | nelegální konvence volání pro konstruktor/destruktor |
Upozornění kompilátoru (úroveň 1) C4167 | "function": k dispozici pouze jako vnitřní funkce |
Upozornění kompilátoru (úroveň 1) C4168 | Limit kompilátoru: nedostatek typů ladicího programu, odstranění databáze programu "databáze" a opětovné sestavení |
Upozornění kompilátoru (úroveň 1) C4172 | vrácení adresy místní proměnné nebo dočasného optional_context |
Upozornění kompilátoru (úroveň 1) C4174 | "name": není k dispozici jako #pragma component |
Upozornění kompilátoru (úroveň 1) C4175 | #pragma component(browser, on) : Informace o prohlížeči musí být zpočátku zadány na příkazovém řádku. |
Upozornění kompilátoru (úroveň 1) C4176 | Subcomponent: neznámý dílčí podsoučt pro #pragma component prohlížeč |
Upozornění kompilátoru (úroveň 1) C4177 | #pragma Direktiva pragma by měla být použita pouze v globálním oboru názvů nebo oboru názvů. |
Upozornění kompilátoru (úroveň 1) C4178 | case konstanta "konstanta" příliš velká pro typ výrazu switch |
Upozornění kompilátoru (úroveň 4, už se nevygeneruje) C4179 | '//* ': parsováno jako '/ ' a '/\* ': nejasnost se standardními "// " komentáři |
Upozornění kompilátoru (úroveň 1) C4180 | kvalifikátor použitý na typ funkce nemá žádný význam; ignorovaný |
Upozornění kompilátoru C4181 | kvalifikátor použitý na referenční typ; ignorovaný |
Upozornění kompilátoru (úroveň 1) C4182 | #include úroveň vnoření je nest_count hluboko; možná nekonečná rekurze |
Upozornění kompilátoru (úroveň 1) C4183 | 'identifier': chybí návratový typ; předpokládá se, že se má jednat o členovou funkci vracející 'int ' |
Upozornění kompilátoru (úroveň 1) C4185 | ignorování neznámého #import atributu "attribute" |
Upozornění kompilátoru (úroveň 1) C4186 | # atribut importu atributu vyžaduje argumenty argument_count; ignorováno. |
Upozornění kompilátoru (úroveň 1) C4187 | #import atributy "attribute1" a 'attribute2' jsou nekompatibilní; oba ignorované |
Upozornění kompilátoru (úroveň 1) C4188 | konstantní výraz není integrální |
Upozornění kompilátoru (úroveň 3 a úroveň 4) C4189 | 'identifier': Místní proměnná se inicializuje, ale neodkazuje na |
Upozornění kompilátoru (úroveň 1) C4190 | Identifikátor 1 má zadané propojení C, ale vrací UDT identifier2, které není kompatibilní s jazykem C. |
Upozornění kompilátoru (úroveň 3, vypnuto) C4191 | Operace: nebezpečný převod z type_of_expression na type_required Volání funkce pomocí výsledného ukazatele může způsobit selhání programu |
Upozornění kompilátoru (úroveň 3) C4192 | automatické vyloučení identifikátoru při importu knihovny typů library |
Upozornění kompilátoru (úroveň 3) C4193 | #pragma warning(pop) : žádná odpovídající hodnota '#pragma warning(push) ' |
Upozornění kompilátoru (úroveň 1) C4194 | #pragma start_map_region nelze vnořit; ignorovaný |
Upozornění kompilátoru (úroveň 1) C4195 | #pragma stop_map_region použito bez shody #pragma start_map_region ; ignorováno |
Upozornění kompilátoru (úroveň 1) C4196 | byl očekáváno token1 nebo token2; byl nalezen token3. |
Upozornění kompilátoru (úroveň 3) C4197 | 'type': top-level volatile in cast is ignored |
Upozornění kompilátoru (úroveň 1, úroveň 2, úroveň 3 a úroveň 4) C4199 | message |
Viz také
Chyby a upozornění kompilátoru C/C++ a nástrojů sestavení
Upozornění kompilátoru C4000 – C5999