Sdílet prostřednictvím


Upozornění kompilátoru Microsoft C/C++ C4800 až C4999

Články v této části popisují upozornění kompilátoru C/C++ c4800-C4999.

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, vypnuto) C4800 Implicitní převod typu na bool. Možná ztráta informací
Upozornění kompilátoru C4801 Vrácení podle odkazu není ověřitelné: zpráva
Upozornění kompilátoru (úroveň 1) C4803 'method': Metoda raise má jinou třídu úložiště než událost, "event"
Upozornění kompilátoru (úroveň 1) C4804 "operation": nebezpečné použití typu "bool" v provozu
Upozornění kompilátoru (úroveň 1) C4805 "operation": nebezpečný mix typu "type1" a typ "type2" v provozu
Upozornění kompilátoru (úroveň 1) C4806 "operation": nebezpečná operace: žádná hodnota typu type1 povýšená na typ type2 může být stejná jako daná konstanta.
Upozornění kompilátoru (úroveň 1) C4807 "operation": nebezpečný mix typu "type1" a podepsaného bitového pole typu "type2"
Upozornění kompilátoru (úroveň 1) C4808 caseHodnota není platná hodnota pro switch podmínku typu 'bool'
Upozornění kompilátoru (úroveň 1) C4809 switch příkaz má redundantní popisek 'default' ; všechny možné popisky 'case' jsou uvedeny.
Upozornění kompilátoru (úroveň 1) C4810 pragma pack(show) hodnota == n
Upozornění kompilátoru (úroveň 1) C4811 pragma conform(forScope, show) == hodnota hodnoty
Upozornění kompilátoru (úroveň 1) C4812 zastaralý styl deklarace: Místo toho použijte "new_syntax".
Upozornění kompilátoru (úroveň 1) C4813 'function': Přátelská funkce místní třídy musí být dříve deklarována.
Upozornění kompilátoru (úroveň 4) C4815 Název objektu: Pole s nulovou velikostí v objektu zásobníku nebude obsahovat žádné prvky (pokud není objekt agregací, která byla inicializována).
Upozornění kompilátoru (úroveň 4) C4816 Parametr param: parametr má pole s nulovou velikostí, které bude zkráceno (pokud není objekt předán odkazem).
Upozornění kompilátoru (úroveň 1) C4817 "member": nezákonné použití znaku "." pro přístup k tomuto členu; kompilátor nahrazen znakem ->.
Upozornění kompilátoru (úroveň 1) C4819 Soubor obsahuje znak, který nelze reprezentovat na aktuální znakové stránce (číslo). Uložení souboru ve formátu Unicode, aby se zabránilo ztrátě dat
Upozornění kompilátoru (úroveň 4, vypnuto) C4820 Bajty odsazení bajtů přidané za konstruktor member_name
Upozornění kompilátoru (úroveň 1) C4821 Nelze určit typ kódování Unicode, uložte soubor s podpisem (BOM).
Upozornění kompilátoru (úroveň 1, vypnuto) C4822 'členová funkce': Členová funkce místní třídy nemá tělo
Upozornění kompilátoru (úroveň 3) C4823 Funkce: Používá připnutí ukazatelů, ale sémantiku odvíjení není povoleno. Zvažte použití /EHa
Upozornění kompilátoru (úroveň 2, vypnuto) C4826 Převod z 'type1' na 'type2' je prodloužen podepis. To může způsobit neočekávané chování modulu runtime.
Upozornění kompilátoru (úroveň 3) C4827 Veřejná metoda sToString 0 parametry by měla být označena jako virtual a override
Upozornění kompilátoru (úroveň 1) C4828 Soubor obsahuje znak začínající posunem 0xHexOffset , který je v aktuální zdrojové znakové sadě neplatný ( znaková stránka kódové stránky).
Upozornění kompilátoru (úroveň 1) C4829 Pravděpodobně nesprávné parametry pro funkci main. Zvažte "int main(Platform::Array<Platform::String^>^ argv)"
Upozornění kompilátoru (úroveň 1) C4834 zahození návratové hodnoty funkce s atributem nodiscard
Upozornění kompilátoru (úroveň 1) C4835 Proměnná: Inicializátor exportovaných dat se nespustí, dokud se v sestavení hostitele nespustí spravovaný kód.
Upozornění kompilátoru (úroveň 4, vypnuto) C4837 zjištěna trigraf: znak?? nahrazen znakem
Upozornění kompilátoru (úroveň 1) C4838 převod z "type_1" na "type_2" vyžaduje zužující převod.
Upozornění kompilátoru (úroveň 3) C4839 nestandardní použití třídy "type" jako argumentu pro variadickou funkci
Upozornění kompilátoru (úroveň 4) C4840 nepřenosné použití třídy "type" jako argumentu pro variadickou funkci
Upozornění kompilátoru (úroveň 4, vypnuto) C4841 Použité nestandardní rozšíření: složeného členového návrhátoru použitého v offsetof
Upozornění kompilátoru (úroveň 4, vypnuto) C4842 výsledek "offsetof" použitý u typu používajícího více dědičnosti není zaručeno, že bude konzistentní mezi verzemi kompilátoru.
Upozornění kompilátoru (úroveň 4) C4843 'type1': Obslužná rutina výjimky odkazu na pole nebo typ funkce je nedostupná, místo toho použijte type2.
Upozornění kompilátoru (úroveň 1) C4844 ''export module module_name;je nyní upřednostňovanou syntaxí pro deklarování rozhraní modulu.
Upozornění kompilátoru (úroveň 4) C4845 '__declspec(no_init_all)' se ignoruje, pokud/d1initall[0|1|2|3] na příkazovém řádku nebylo zadáno ''
Upozornění kompilátoru (úroveň 4) C4846 'value' není platný argument pro '/d1initall': příznak příkazového řádku ignorován
Upozornění kompilátoru (úroveň 4) C4847 '__declspec(no_init_all)' lze použít pouze pro funkci, typ třídy nebo místní proměnnou: ignorováno
Upozornění kompilátoru (úroveň 1) C4848 Podpora standardního atributu 'no_unique_address' v jazyce C++17 a starší je rozšíření dodavatelem.
Upozornění kompilátoru (úroveň 1) C4849 Klauzule OpenMP "klauzule" byla v direktivě "direktiva" ignorována
Upozornění kompilátoru (úroveň 1, chyba) C4854 vazba dereferenced null ukazatel na odkaz má nedefinované chování
Upozornění kompilátoru (úroveň 1, vypnuto) C4855 Implicitní zachycení "this" prostřednictvím '[=]' je zastaralé v 'version'
Upozornění kompilátoru (úroveň 4) C4856 Hodnota není platným argumentem pro '/d1initAll:FillPattern' (hodnota musí být v rozmezí od 0 do 255). Příznak příkazového řádku se ignoroval.
Upozornění kompilátoru (úroveň 1) C4857 Režim C++/CLI nepodporuje novější verze C++ než C++17; nastavení jazyka na /std:c++17
Upozornění kompilátoru (úroveň 1) C4858 zahození návratové hodnoty: název funkce
Upozornění kompilátoru (úroveň 4) C4859 'value' není platný argument pro '/presetWarn': musí se jednat o desetinnou hodnotu > 0. Příznak příkazového řádku se ignoroval.
Upozornění kompilátoru (úroveň 4) C4860 'název objektu': kompilátor nula inicializovaných bajtů 'number' úložiště
Upozornění kompilátoru (úroveň 4) C4861 Kompilátor nula inicializovaných bajtů "number" úložiště
Upozornění kompilátoru (úroveň 4) C4866 Kompilátor nemůže vynutit pořadí vyhodnocení zleva doprava pro volání operator_name
Upozornění kompilátoru (úroveň 1, chyba) C4867 'function': funkce volá chybějící seznam argumentů; pomocí volání vytvořte ukazatel na člena.
Upozornění kompilátoru (úroveň 4) C4868 Kompilátor file(line_number) nemusí vynutit pořadí vyhodnocení zleva doprava v seznamu inicializace složených závorek.
Upozornění kompilátoru (úroveň 3) C4869 'nodiscard' lze použít pouze u tříd, výčtů a funkcí.
Upozornění kompilátoru (úroveň 2) C4872 Dělení s plovoucí desetinou čárkou o nulu bylo zjištěno při kompilaci grafu volání pro concurrency::parallel_for_each : "location" (umístění).
Upozornění kompilátoru (úroveň 1) C4880 přetypování z "const type_1" na "type_2": Přetypování constness z ukazatele nebo odkazu může mít za následek nedefinované chování funkce amp.
Upozornění kompilátoru (úroveň 4) C4881 konstruktor a/nebo destruktor nebude vyvolán pro tile_static proměnnou variable 'variable-name'
Upozornění kompilátoru (úroveň 1) C4882 Předávání funktorů s operátory volání bez const je concurrency::parallel_for_each zastaralé
Upozornění kompilátoru C4883 'název funkce': Velikost funkce potlačí optimalizace
Upozornění kompilátoru C4900 Neshoda mezi verzí 'tool1' version 'version1' a 'tool2' version 'version2'
Upozornění kompilátoru (úroveň 1, vypnuto) C4905 širokoúhlý řetězcový literál přetypování na 'LPSTR'
Upozornění kompilátoru (úroveň 1, vypnuto) C4906 přetypování řetězcového literálu na 'LPWSTR'
Upozornění kompilátoru (chyba) C4907 nelze zadat více konvencí volání; poslední zadané datum bude použito.
Upozornění kompilátoru (úroveň 1) C4910 >Identifikátor<: '__declspec(dllexport)' a 'extern' nejsou kompatibilní s explicitní instancí.
Upozornění kompilátoru (úroveň 1) C4912 'attribute': atribut má nedefinované chování u vnořeného UDT
Upozornění kompilátoru (úroveň 4) C4913 uživatelem definovaný binární operátor ',' existuje, ale nelze převést všechny operandy, výchozí předdefinovaný binární operátor ',' použitý
Upozornění kompilátoru (úroveň 1) C4916 aby bylo možné mít dispid"popis": musí být zavedeno rozhraním.
Upozornění kompilátoru (úroveň 1, vypnuto) C4917 deklarátor: IDENTIFIKÁTOR GUID lze přidružit pouze ke třídě, rozhraní nebo oboru názvů.
Upozornění kompilátoru (úroveň 4) C4918 Znak: neplatný znak v seznamu optimalizace direktiv pragma
Upozornění kompilátoru (úroveň 1) C4920 enum enum-name member member_1=value_1 již vidět v výčtu enum-name jako member_2 value_2=
Upozornění kompilátoru (úroveň 3) C4921 'description': atribut value 'attribute' by neměl být vynásobit zadaný
Upozornění kompilátoru (úroveň 1) C4925 'method': metodu dispinterface nelze volat ze skriptu.
Upozornění kompilátoru (úroveň 1) C4926 'identifier': symbol je již definován: atributy ignorovány
Upozornění kompilátoru (úroveň 1) C4927 nelegální převod; Byl implicitně použit více než jeden uživatelem definovaný převod.
Upozornění kompilátoru (úroveň 1, vypnuto) C4928 nelegální inicializace kopírování; implicitně použit více než jeden uživatelem definovaný převod
Upozornění kompilátoru (úroveň 1) C4929 'file': typelibrary obsahuje sjednocení; ignoruje kvalifikátor "embedded_idl".
Upozornění kompilátoru (úroveň 1) C4930 Prototypovaná funkce není volána (byla zamýšlena definice proměnné?)
Upozornění kompilátoru (úroveň 4, vypnuto) C4931 Předpokládáme, že knihovna typů byla vytvořena pro ukazatele typu
Upozornění kompilátoru (úroveň 4) C4932 __identifier(identifikátor) a __identifier(identifikátor) jsou nerozlišitelné
Upozornění kompilátoru (úroveň 1) C4934 '__delegate(multicast)' je zastaralá, místo toho použijte '__delegate'
Upozornění kompilátoru (úroveň 1) C4935 Specifikátor přístupu sestavení změněný z "access"
Upozornění kompilátoru (úroveň 1, chyba) C4936 tato __declspec je podporována pouze při kompilaci s /clr/clr:pure
Upozornění kompilátoru (úroveň 4) C4937 "text1" a "text2" jsou nerozlišitelné jako argumenty "direktivy"
Upozornění kompilátoru (úroveň 4) C4938 'var': Proměnná redukce s plovoucí desetinou čárkou může způsobit nekonzistentní výsledky pod /fp:strict nebo #pragma fenv_access
Upozornění kompilátoru C4939 #pragma vtordisp je zastaralý a bude odebrán v budoucí verzi visual C++
Upozornění kompilátoru (úroveň 1) C4944 Symbol: nelze importovat symbol ze sestavení1: protože symbol již v aktuálním oboru existuje.
Upozornění kompilátoru (úroveň 1) C4945 Symbol: nelze importovat symbol ze sestavení 1: protože symbol již byl importován z jiného sestavení Assembly2.
Upozornění kompilátoru (úroveň 1, vypnuto) C4946 reinterpret_cast používá se mezi souvisejícími třídami: "class1" a "class2"
Upozornění kompilátoru (úroveň 1) C4947 "type_or_member": označeno jako zastaralé
Upozornění kompilátoru (úroveň 2) C4948 návratový typ "accessor" neodpovídá poslednímu typu parametru odpovídajícího setteru.
Upozornění kompilátoru (úroveň 1 a úroveň 4) C4949 pragmas 'managed' a 'unmanaged' jsou smysluplné pouze tehdy, když jsou zkompilovány pomocí '/clr[:option]'
Upozornění kompilátoru (úroveň 1, chyba) C4950 "type_or_member": označeno jako zastaralé
Upozornění kompilátoru (úroveň 1) C4951 Funkce byla upravena od shromažďování dat profilu, data profilu funkce se nepoužívají.
Upozornění kompilátoru (úroveň 1) C4952 'function': V programové databázi pgd-file nebyla nalezena žádná data profilu.
Upozornění kompilátoru (úroveň 1) C4953 Vložená funkce byla upravena od shromáždění dat profilu, nepoužívaných dat profilu.
Upozornění kompilátoru C4954 'function': není profilovaný (obsahuje __int64 výraz switch)
Upozornění kompilátoru C4955 'import2': import ignorován; již importován z importu1
Upozornění kompilátoru (úroveň 1, chyba) C4956 'type': tento typ není ověřitelný.
Upozornění kompilátoru (úroveň 1, chyba) C4957 'cast': explicitní přetypování z "cast_from" na "cast_to" není ověřitelné
Upozornění kompilátoru (úroveň 1, chyba) C4958 "operation": aritmetika ukazatele není ověřitelná
Upozornění kompilátoru (úroveň 1, chyba) C4959 Aplikace nemůže definovat nespravovaný typ 'type' /clr:safe , protože přístup k jeho členům poskytuje neověřitelný kód.
Upozornění kompilátoru (úroveň 4) C4960 Funkce je pro profilování příliš velká.
Upozornění kompilátoru (úroveň 1) C4961 Nebyla sloučena žádná data profilu do souboru pgd-file, optimalizace s asistencí profilu jsou zakázány.
Upozornění kompilátoru (úroveň 4, vypnuto) C4962 'function': Optimalizace řízené profilem jsou zakázané, protože optimalizace způsobily nekonzistentní data profilu.
Upozornění kompilátoru (úroveň 1) C4963 'description': nebyla nalezena žádná data profilu; v instrumentovaném sestavení byly použity různé možnosti kompilátoru.
Upozornění kompilátoru (úroveň 1) C4964 Nebyly zadány žádné možnosti optimalizace; informace o profilu nebudou shromažďovány.
Upozornění kompilátoru (úroveň 1) C4965 implicitní pole celého čísla 0; Použití nullptru nebo explicitního přetypování
Upozornění kompilátoru (úroveň 1) C4966 Funkce obsahuje __code_seg anotace s nepodporovaným názvem segmentu, anotace ignorována
Upozornění kompilátoru C4970 delegate constructor: cílový objekt byl ignorován, protože typ je statický.
Upozornění kompilátoru (úroveň 1) C4971 Pořadí argumentů: <cílový objekt>, <cílová funkce> pro konstruktor delegáta je zastaralá, použijte <cílovou funkci>, <target object="">
Upozornění kompilátoru (úroveň 1, chyba) C4972 Přímá úprava nebo zpracování výsledku operace rozbalení jako lvalue není možné ověřit.
Upozornění kompilátoru (úroveň 1) C4973 "symbol": označený jako zastaralý
Upozornění kompilátoru (úroveň 1) C4974 "symbol": označený jako zastaralý
Upozornění kompilátoru (úroveň 1) C4975 modopt '[modifier]' byl ignorován pro formální parametr 'parameter'
Upozornění kompilátoru (úroveň 1) C4976 Neplatná hodnota 'value' pro '/W;za předpokladu '1'
Upozornění kompilátoru (úroveň 3) C4981 Warbird: funkce "function" označená jako __forceinline není vložena, protože obsahuje sémantiku výjimek
Upozornění kompilátoru (úroveň 3) C4983 '/analyze:sarif:hashname' ignorováno, protože argument parametru /analyze:log je jeden soubor místo adresáře.
Upozornění kompilátoru C4984 'if constexpr' je rozšíření jazyka C++17.
Upozornění kompilátoru (úroveň 4) C4985 'symbol_name': atributy, které nejsou přítomné na předchozí deklaraci.
Upozornění kompilátoru (úroveň 4, vypnuto) C4986 'deklarace': Specifikace výjimky neodpovídá předchozí deklaraci.
Upozornění kompilátoru (úroveň 4, vypnuto) C4987 Nepoužité rozšíření: 'throw (...)'
Upozornění kompilátoru (úroveň 4, vypnuto) C4988 'variable': proměnná deklarovaná mimo obor třídy nebo funkce
Upozornění kompilátoru (úroveň 4) C4989 'type': typ má konfliktní definice.
Upozornění kompilátoru (úroveň 3) C4990 Warbird: zpráva
Upozornění kompilátoru (úroveň 3) C4991 Warbird: funkce "function" označená jako __forceinline neschválená, protože úroveň ochrany vložené hodnoty je větší než nadřazená
Upozornění kompilátoru (úroveň 3) C4992 Warbird: funkce "function-name" označená jako __forceinline nenačítaná, protože obsahuje vložené sestavení, které nelze chránit
Upozornění kompilátoru (úroveň 3) C4995 'function': název byl označen jako #pragma zastaralé
Upozornění kompilátoru (úroveň 3) C4996 'deprecated-declaration': deprecation-message (or "was declared deprecated")
Upozornění kompilátoru (úroveň 1) C4997 'class': coclass neimplementuje rozhraní MODELU COM nebo pseudo-rozhraní
Upozornění kompilátoru (úroveň 1) C4998 EXPECTATION FAILED: expectation(value)

Viz také

Chyby a upozornění kompilátoru C/C++ a nástrojů sestavení
Upozornění kompilátoru C4000 – C5999