Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 rozwiązać wiele kolejnych błędów.
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 trafisz na tę stronę i pomyśl, że komunikat o błędzie lub ostrzeżeniu wymaga dodatkowego wyjaśnienia, daj nam znać, korzystając z przycisków opinii na tej stronie. 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 i wybierz pozycję Pomoc > Wyślij opinię > Zgłoś problemlub prześlij sugestię przy użyciu Pomoc > Wyślij opinię > Zasugeruj funkcję. Niektóre tematy błędów kompilatora, które nie są generowane przez kompilator, zostały utworzone i teraz są przekierowywane na tę stronę.
Dodatkową pomoc dotyczącą błędów i ostrzeżeń można znaleźć na forach Microsoft Q&A C++. 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ż przeszukać 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 C2100 | nie można wyłusić operandu typu "type" |
| Błąd kompilatora C2101 | '&' na stałe |
| Błąd kompilatora C2102 | '&' wymaga wartości l |
| Błąd kompilatora C2103 | '&' w zmiennej rejestrowej |
| Błąd kompilatora C2104 | "&" w polu bitowym ignorowane |
| Błąd kompilatora C2105 | Operator wymaga wartości l |
| Błąd kompilatora C2106 | 'operator': lewy operand musi być l-value |
| Błąd kompilatora C2107 | niedozwolony indeks, pośredniość niedozwolona |
| Błąd kompilatora C2108 | subskrypt nie jest typu całkowitoliczbowego |
| Błąd kompilatora C2109 | indeks wymaga typu tablicy lub wskaźnika |
| Błąd kompilatora C2110 | '+': nie można dodać dwóch wskaźników |
| Błąd kompilatora C2111 | '+': dodawanie wskaźnika wymaga operandu całkowitego |
| Błąd kompilatora C2112 | "-": odejmowanie wskaźników wymaga operandu całkowitego lub wskaźnikowego |
| Błąd kompilatora C2113 | "-": wskaźnik można odjąć tylko od innego wskaźnika |
| Błąd kompilatora C2114 | "operator": wskaźnik po lewej stronie; wymaga wartości całkowitej po prawej stronie |
| Błąd kompilatora C2115 | "operator": niezgodne typy |
| Błąd kompilatora C2116 | "name": listy parametrów funkcji nie są zgodne między deklaracjami |
| Błąd kompilatora C2117 | "identifier": przekroczenie granic tablicy |
| Błąd kompilatora C2118 | ujemny indeks dolny |
| Błąd kompilatora C2119 | "identifier": nie można wywnioskować typu dla "typu" z pustego inicjalizatora |
| Błąd kompilatora C2120 | "void" nie można połączyć z żadnym innym specyfikatorem typu |
| Błąd kompilatora C2121 | '#': nieprawidłowy znak: prawdopodobnie wynik rozszerzenia makra |
| Błąd kompilatora C2122 | "identifier": prototyp parametru na liście nazw niedozwolone |
| Błąd kompilatora C2123 | "identyfikator": szablony aliasów nie mogą być jawnie ani częściowo wyspecjalizowane |
| Błąd kompilatora C2124 | dzielenie lub mod według zera |
| Błąd kompilatora C2125 | "constexpr" jest niezgodny z "tokenem" |
| Błąd kompilatora C2126 | Nie można zadeklarować identyfikatora za pomocą specyfikatora "constexpr" |
| Błąd kompilatora C2127 | "identifier": nieprawidłowa inicjalizacja elementu "constexpr" wyrażeniem niekonstantnym |
| Błąd kompilatora C2128 | "function": alloc_text/same_seg dotyczy tylko funkcji z połączeniem C |
| Błąd kompilatora C2129 | funkcja statyczna "identifier" zadeklarowana, ale nie zdefiniowana |
| Błąd kompilatora C2130 | #line oczekiwano ciągu zawierającego nazwę pliku, znaleziono "token" |
| Błąd kompilatora C2131 | wyrażenie nie zostało obliczone na stałą |
| Błąd kompilatora C2132 | błąd składni: nieoczekiwany identyfikator |
| Błąd kompilatora C2133 | "identyfikator": nieznany rozmiar |
| Błąd kompilatora C2134 | "function": wywołanie nie powoduje wyrażenia stałego |
| Błąd kompilatora C2135 | "identifier": nie można zastosować operatora do pola bitowego |
| Błąd kompilatora C2136 | Kontrakt API do tworzenia nie jest dozwolony |
| Błąd kompilatora C2137 | pusta stała znaku |
| Błąd kompilatora C2138 | niedozwolone do zdefiniowania wyliczenia bez żadnych elementów członkowskich |
| Błąd kompilatora C2139 | "class": niezdefiniowana klasa nie jest dozwolona jako argument funkcji typu wewnętrznego kompilatora "cecha" |
| Błąd kompilatora C2140 | "type": typ zależny od ogólnego parametru typu nie jest dozwolony jako argument cechy wewnętrznej kompilatora "cecha" |
| Błąd kompilatora C2141 | przepełnienie rozmiaru tablicy |
| Błąd kompilatora C2142 | deklaracje funkcji różnią się, parametry zmiennych określone tylko w jednym z nich |
| Błąd kompilatora C2143 | błąd składni: brak tokenu "token1" przed "token2" |
| Błąd kompilatora C2144 | błąd składni: "type" powinien być poprzedzony znacznikiem "token2" |
| Błąd kompilatora C2145 | błąd składni: brak tokenu przed identyfikatorem |
| Błąd kompilatora C2146 | błąd składni: brak tokenu przed identyfikatorem "identifier" |
| Błąd kompilatora C2147 | błąd składni: "token" jest nowym słowem kluczowym |
| Błąd kompilatora C2148 | całkowity rozmiar tablicy nie może przekraczać wartości 0xvalue bajtów |
| Błąd kompilatora C2149 | "identifier": nazwane pole bitowe nie może mieć zerowej szerokości |
| Błąd kompilatora C2150 | "identifier": pole bitowe musi mieć typ "int", "signed int" lub "unsigned int" |
| Błąd kompilatora C2151 | więcej niż jeden atrybut języka |
| Błąd kompilatora C2152 | "identifier": wskaźniki do funkcji z różnymi atrybutami |
| Błąd kompilatora C2153 | Literały liczb całkowitych muszą mieć co najmniej jedną cyfrę |
| Błąd kompilatora C2154 | "type": dozwolony jest tylko typ wyliczeniowy jako argument wbudowanej funkcji kompilatora "__underlying_type" |
| Błąd kompilatora C2155 | '?': nieprawidłowy argument lewy, oczekiwany typ arytmetyczny lub wskaźnik |
| Błąd kompilatora C2156 | pragma musi być funkcją zewnętrzną |
| Błąd kompilatora C2157 | "identyfikator": należy zadeklarować przed użyciem na liście pragma |
| Błąd kompilatora C2158 | "type": dyrektywa #pragma make_public jest obecnie obsługiwana tylko w przypadku natywnych typów innych niż szablony |
| Błąd kompilatora C2159 | określona więcej niż jedna klasa przechowywania |
| Błąd kompilatora C2160 | Element "##" nie może wystąpić na początku definicji makra |
| Błąd kompilatora C2161 | Element "##" nie może wystąpić na końcu definicji makra |
| Błąd kompilatora C2162 | oczekiwany formalny parametr makra |
| Błąd kompilatora C2163 | "function": niedostępny jako funkcja wewnętrzna |
| Błąd kompilatora C2164 | "function": funkcja wewnętrzna nie jest zadeklarowana |
| Błąd kompilatora C2165 | "modyfikator": nie można modyfikować wskaźników do danych |
| Błąd kompilatora C2166 | l-value określa stały obiekt |
| Błąd kompilatora C2167 | "function": zbyt wiele rzeczywistych parametrów funkcji wewnętrznej |
| Błąd kompilatora C2168 | "function": zbyt mało rzeczywistych parametrów funkcji wewnętrznej |
| Błąd kompilatora C2169 | "function": funkcja wewnętrzna, nie można zdefiniować |
| Błąd kompilatora C2170 | "identifier": nie zadeklarowany jako funkcja, nie może być wewnętrzny |
| Błąd kompilatora C2171 | operator "operator" nie może być stosowany do operandu typu "type" |
| Błąd kompilatora C2172 | "function": faktyczny parametr nie jest wskaźnikiem: parametr numer |
| Błąd kompilatora C2173 | "function": rzeczywisty parametr nie jest wskaźnikiem: parametr numer, lista parametrów numer |
| Błąd kompilatora C2174 | "function": argument ma typ 'void': numer argumentu, numer listy parametrów" |
| Błąd kompilatora C2175 | "ustawienia regionalne": nieprawidłowe ustawienia regionalne |
| Błąd kompilatora C2176 | instrukcja return nie może pojawić się w procedurze obsługi bloku try-function skojarzonego z konstruktorem |
| Błąd kompilatora C2177 | stała za duża |
| Błąd kompilatora C2178 | Nie można zadeklarować identyfikatora za pomocą specyfikatora "specyfikatora" |
| Błąd kompilatora C2179 | "type": argument atrybutu nie może używać parametrów typu |
| Błąd kompilatora C2180 | wyrażenie sterujące ma typ "type" |
| Błąd kompilatora C2181 | niedozwolone inne bez dopasowania, jeśli |
| Błąd kompilatora C2182 | "identifier": to użycie elementu "void" jest nieprawidłowe |
| Błąd kompilatora C2183 | błąd składni: jednostka tłumaczenia jest pusta |
| Błąd kompilatora C2184 | "type": niedozwolony typ wyrażenia __except |
| Błąd kompilatora C2185 | "identyfikator": nielegalna alokacja oparta na |
| Błąd kompilatora C2186 | "operator": nielegalny operand typu "void" |
| Błąd kompilatora C2187 | błąd składni: "token" był nieoczekiwany tutaj |
| Błąd kompilatora C2188 | "number": zbyt duży dla znaku o szerokim kodowaniu |
| Błąd kompilatora C2189 | Atrybut "alignas" nie może być stosowany do pola bitowego, parametru funkcji, deklaracji wyjątku lub zmiennej zadeklarowanej za pomocą klasy magazynu "register" |
| Błąd kompilatora C2190 | pierwsza lista parametrów dłuższa niż sekunda |
| Błąd kompilatora C2191 | druga lista parametrów dłuższa niż pierwsza |
| Błąd kompilatora C2192 | inna deklaracja parametru "number" |
| Błąd kompilatora C2193 | "identyfikator": już w segmencie |
| Błąd kompilatora C2194 | "identifier": jest segmentem tekstowym |
| Błąd kompilatora C2195 | "identyfikator": to segment danych |
| Błąd kompilatora C2196 | wartość przypadku "value" już użyta |
| Błąd kompilatora C2197 | "function": zbyt wiele argumentów wywołania |
| Błąd kompilatora C2198 | "function": zbyt mało argumentów wywołania |
| Błąd kompilatora C2199 | błąd składni: znaleziono 'identyfikator (' w zakresie globalnym (czy to miała być deklaracja?) |
Zobacz też
Błędy i ostrzeżenia kompilatora C/C++ i narzędzi kompilacji
Błędy kompilatora C2001 — C3999, C7000 – C7999