Udostępnij za pośrednictwem


Błędy kompilatora od C2001 do C2099

Artykuły w tej sekcji dokumentacji wyjaśniają podzbiór komunikatów o błędach generowanych przez kompilator.

Ważne

Kompilatory i narzędzia kompilacji programu Visual Studio mogą zgłaszać wiele rodzajów błędów i ostrzeżeń. Po znalezieniu błędu lub ostrzeżenia narzędzia kompilacji mogą podjąć założenia dotyczące intencji kodu i próby kontynuowania, dzięki czemu więcej problemów można zgłaszać w tym samym czasie. Jeśli narzędzia przyjmą błędne założenie, późniejsze błędy lub ostrzeżenia mogą nie mieć zastosowania do projektu. W przypadku naprawiania problemów w projekcie zawsze należy zacząć od pierwszego zgłoszonego błędu lub ostrzeżenia i często ponownie skompilować. Jedna poprawka może spowodować, że wiele kolejnych błędów zniknie.

Aby uzyskać pomoc dotyczącą konkretnego komunikatu diagnostycznego w programie Visual Studio, wybierz go w oknie Dane wyjściowe i naciśnij F1 . Program Visual Studio otwiera stronę dokumentacji dla tego błędu, jeśli istnieje. Możesz również użyć narzędzia wyszukiwania w górnej części strony, aby znaleźć artykuły dotyczące określonych błędów lub ostrzeżeń. Możesz też przejrzeć listę błędów i ostrzeżeń według narzędzia i wpisać spis treści na tej stronie.

Uwaga

Nie każdy błąd lub ostrzeżenie programu Visual Studio nie jest udokumentowane. W wielu przypadkach komunikat diagnostyczny zawiera wszystkie dostępne informacje. Jeśli wylądowałeś na tej stronie, gdy użyto F1 i uważasz, że komunikat o błędzie lub ostrzeżeniu wymaga dodatkowego wyjaśnienia, daj nam znać. Możesz użyć przycisków opinii na tej stronie, aby zgłosić problem z dokumentacją w usłudze GitHub. Jeśli uważasz, że błąd lub ostrzeżenie jest nieprawidłowe lub znaleziono inny problem z zestawem narzędzi, zgłoś problem z produktem w witrynie Społeczność deweloperów. Możesz również wysłać opinię i wprowadzić usterki w środowisku IDE. W programie Visual Studio przejdź do paska menu, a następnie wybierz pozycję Pomoc Wyślij zgłoszenie o > problemie lub prześlij sugestię, korzystając z opcji Wyślij opinię w pomocy > > Wyślij sugestię>. Niektóre tematy błędów kompilatora zostały utworzone, które nie są emitowane przez kompilator, a teraz przekieruj do tej strony.

Dodatkową pomoc dotyczącą błędów i ostrzeżeń można znaleźć na forach pytań i odpowiedzi na platformie Microsoft Learn. Możesz też wyszukać numer błędu lub ostrzeżenia w witrynie Społeczności deweloperów programu Visual Studio C++. Możesz również wyszukać rozwiązanie Stack Overflow , aby znaleźć rozwiązania.

Aby uzyskać linki do dodatkowych zasobów pomocy i społeczności, zobacz Visual C++ Help and Community (Pomoc i społeczność języka Visual C++).

Komunikaty o błędach

Błąd Komunikat
Błąd kompilatora C2001 newline w stałej
Błąd kompilatora C2002 nieprawidłowa stała szerokoznakowa
Błąd kompilatora C2003 oczekiwany identyfikator zdefiniowany
Błąd kompilatora C2004 oczekiwana wartość "defined(id)"
Błąd kompilatora C2005 #line oczekiwano numeru wiersza, znaleziono "token"
Błąd kompilatora C2006 "dyrektywa": oczekiwano nazwy pliku, znaleziono "token"
Błąd kompilatora C2007 składnia #define
Błąd kompilatora C2008 "znak": nieoczekiwany w definicji makra
Błąd kompilatora C2009 ponowne użycie formalnego "identyfikatora" makra
Błąd kompilatora C2010 "znak": nieoczekiwany na liście parametrów formalnych makr
Błąd kompilatora C2011 "identifier": ponowne zdefiniowanie typu "type"
Błąd kompilatora C2012 brak nazwy po '<'
Błąd kompilatora C2013 brak elementu ">"
Błąd kompilatora C2014 Polecenie preprocesora musi być uruchamiane jako pierwsze miejsce pozawhite
Błąd kompilatora C2015 zbyt wiele znaków w stałej
Błąd kompilatora C2016 C wymaga, aby struktura lub związek miał co najmniej jeden element członkowski
Błąd kompilatora C2017 nielegalna sekwencja ucieczki
Błąd kompilatora C2018 nieznany znak "wartość 0x"
Błąd kompilatora C2019 oczekiwana dyrektywa preprocesora, znaleziona "znak"
Błąd kompilatora C2020 "member": ponowne zdefiniowanie składowej klasy
Błąd kompilatora C2021 oczekiwana wartość wykładnicza, a nie "znak"
Błąd kompilatora C2022 "number": zbyt duży dla znaku
Błąd kompilatora C2023 "identyfikator": wyrównanie (wartość-1) różni się od wcześniejszej deklaracji (wartość-2)
Błąd kompilatora C2024 Atrybut "alignas" ma zastosowanie tylko do zmiennych, elementów członkowskich danych i typów tagów
Błąd kompilatora C2025 nieprawidłowy lub uszkodzony plik interfejsu modułu binarnego: "nazwa pliku"
Błąd kompilatora C2026 zbyt duży ciąg, znaki końcowe obcięte
Błąd kompilatora C2027 użycie niezdefiniowanego typu "type"
Błąd kompilatora C2028 element członkowski struktury/unii musi znajdować się wewnątrz struktury/unii
Błąd kompilatora C2029 (Przestarzałe) po lewej stronie "token" określa niezdefiniowaną klasę/strukturę/interfejs "identifier"
Błąd kompilatora C2030 destruktor z ułatwieniami dostępu "chroniony prywatny" nie może być elementem członkowskim klasy zadeklarowanej jako "zapieczętowana"
Błąd kompilatora C2031 wirtualny destruktor z ułatwieniami dostępu "ułatwienia dostępu" nie jest dozwolony dla tego typu
Błąd kompilatora C2032 "identifier": funkcja nie może być elementem członkowskim struktury/unii "type"
Błąd kompilatora C2033 "identyfikator": pole bitowe nie może mieć pośredniego
Błąd kompilatora C2034 "identifier": typ pola bitowego za mały dla liczby bitów
Błąd kompilatora C2035 Destruktor niewirtualny z ułatwieniami dostępu "ułatwienia dostępu" nie jest dozwolony dla tego typu
Błąd kompilatora C2036 "identyfikator": nieznany rozmiar
Błąd kompilatora C2037 po lewej stronie operatora określa niezdefiniowaną strukturę/unię "type"
Błąd kompilatora C2038 nie może być śródliniowa przestrzeń nazw std
Błąd kompilatora C2039 "identifier1": nie jest członkiem "identifier2"
Błąd kompilatora C2040 "operator": "identifier1" różni się w poziomie pośrednim od "identifier2"
Błąd kompilatora C2041 niedozwolona cyfra "znak" dla podstawowej "liczby"
Błąd kompilatora C2042 słowa kluczowe ze znakiem/bez znaku wykluczają się wzajemnie
Błąd kompilatora C2043 niedozwolona przerwa
Błąd kompilatora C2044 kontynuowanie nielegalne
Błąd kompilatora C2045 "identifier": etykieta ponownie zdefiniowana
Błąd kompilatora C2046 niedozwolona sprawa
Błąd kompilatora C2047 niedozwolona wartość domyślna
Błąd kompilatora C2048 więcej niż jedna wartość domyślna
Błąd kompilatora C2049 "name-name": nie można ponownie otworzyć przestrzeni nazw w tekście
Błąd kompilatora C2050 wyrażenie przełącznika nie jest całkowite
Błąd kompilatora C2051 wyrażenie wielkości liter nie jest stałe
Błąd kompilatora C2052 "type": niedozwolony typ wyrażenia przypadku
Błąd kompilatora C2053 "identyfikator": niezgodność szerokiego ciągu
Błąd kompilatora C2054 oczekiwano wartości "(", aby postępować zgodnie z "identyfikatorem"
Błąd kompilatora C2055 oczekiwana lista parametrów formalnych, a nie lista typów
Błąd kompilatora C2056 niedozwolone wyrażenie
Błąd kompilatora C2057 oczekiwane wyrażenie stałe
Błąd kompilatora C2058 wyrażenie stałe nie jest całkowite
Błąd kompilatora C2059 błąd składni: "token"
Błąd kompilatora C2060 błąd składni: znaleziono koniec pliku
Błąd kompilatora C2061 błąd składni: identyfikator "identyfikator"
Błąd kompilatora C2062 typ "type" nieoczekiwany
Błąd kompilatora C2063 "identifier": nie funkcja
Błąd kompilatora C2064 termin nie ocenia funkcji biorącej argumenty liczbowe
Błąd kompilatora C2065 "identyfikator": niezdecydowany identyfikator
Błąd kompilatora C2066 rzutowanie do typu funkcji jest niedozwolone
Błąd kompilatora C2067 rzutowanie do typu tablicy jest niedozwolone
Błąd kompilatora C2068 nielegalne użycie przeciążonej funkcji. Brak listy argumentów?
Błąd kompilatora C2069 rzut "void" termin na nie-"void"
Błąd kompilatora C2070 "type": niedozwolony rozmiar operandu
Błąd kompilatora C2071 "identyfikator": nielegalna klasa magazynu
Błąd kompilatora C2072 "identifier": inicjowanie funkcji
Błąd kompilatora C2073 (Przestarzałe) "identifier": elementy częściowo zainicjowanej tablicy muszą mieć konstruktor domyślny
Błąd kompilatora C2074 "identifier": inicjowanie "type" wymaga listy inicjatora ujętego w nawiasy klamrowe
Błąd kompilatora C2075 "identifier": inicjowanie tablicy wymaga listy inicjatora ujętego w nawiasy klamrowe
Błąd kompilatora C2076 nie można użyć listy inicjatora ujętego nawiasem klamrowym w wyrażeniu nowym, którego typ zawiera typ "type"
Błąd kompilatora C2077 inicjator pola nieskalarnego "identyfikator"
Błąd kompilatora C2078 zbyt wiele inicjatorów
Błąd kompilatora C2079 "identifier" używa niezdefiniowanej struktury/klasy/unii "type"
Błąd kompilatora C2080 "identifier": typ "type" można wywnioskować tylko z pojedynczego wyrażenia inicjatora
Błąd kompilatora C2081 "identyfikator": nazwa na liście parametrów formalnych jest niedozwolona
Błąd kompilatora C2082 ponowne zdefiniowanie parametru formalnego "identifier"
Błąd kompilatora C2083 niedozwolone porównanie struktury/unii
Błąd kompilatora C2084 funkcja "identifier" ma już treść
Błąd kompilatora C2085 "identyfikator": nie ma na liście parametrów formalnych
Błąd kompilatora C2086 "identyfikator": ponowne zdefiniowanie
Błąd kompilatora C2087 "identifier": brak indeksu dolnego
Błąd kompilatora C2088 "operator": niedozwolone dla struktury/klasy/unii
Błąd kompilatora C2089 "identyfikator": "typ" za duży
Błąd kompilatora C2090 funkcja zwraca tablicę
Błąd kompilatora C2091 funkcja zwraca funkcję
Błąd kompilatora C2092 Typ elementu tablicy "identifier" nie może być funkcją
Błąd kompilatora C2093 "identifier1": nie można zainicjować przy użyciu adresu zmiennej automatycznej "identifier2"
Błąd kompilatora C2094 etykieta "identyfikator" została niezdefiniowana
Błąd kompilatora C2095 "function": rzeczywisty parametr ma typ "void": numer parametru
Błąd kompilatora C2096 "identifier": Nie można zainicjować elementu członkowskiego danych za pomocą inicjatora nawiasu
Błąd kompilatora C2097 nielegalna inicjalizacja
Błąd kompilatora C2098 nieoczekiwany token po elemencie "identifier" elementu członkowskiego danych
Błąd kompilatora C2099 Inicjator nie jest stałą

Zobacz też

Błędy i ostrzeżenia kompilatora C/C++ i narzędzi kompilacji
Błędy kompilatora C2001 — C3999, C7000 – C7999