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 | case Hodnota 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