Udostępnij przez


Błędy kompilatora — od C3200 do C3299

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 C3200 "type": nieprawidłowy argument szablonu dla parametru szablonu "parametr", oczekiwano szablonu klasy
Błąd kompilatora C3201 lista parametrów szablonu dla szablonu klasy "template" nie jest zgodna z listą parametrów szablonu dla parametru szablonu "parametr"
Błąd kompilatora C3202 "identifier": nieprawidłowy argument domyślny, oczekiwano szablonu klasy
Błąd kompilatora C3203 "identifier": niespecialized class template/generic nie można użyć jako argumentu szablonu/ogólnego dla szablonu/parametru ogólnego "parametr", oczekiwano rzeczywistego typu
Błąd kompilatora C3204 "funkcja" nie może być wywoływana catch z bloku
Błąd kompilatora C3205 Brak listy argumentów dla parametru szablonu szablonu "identifier"
Błąd kompilatora C3206 "function": nieprawidłowy argument template/generic dla "template", brak szablonu/ogólnej listy argumentów w szablonie klasy/ogólnym "type"
Błąd kompilatora C3207 "function": nieprawidłowy argument szablonu dla parametru, oczekiwany szablon klasy
Błąd kompilatora C3208 "function": lista parametrów szablonu dla szablonu klasy "template" nie jest zgodna z listą parametrów szablonu dla parametru szablonu szablonu "parametr"
Błąd kompilatora C3209 "type": klasa ogólna musi być klasą zarządzaną/WinRT
Błąd kompilatora C3210 "identifier": deklaracja dostępu może być stosowana tylko do składowej klasy bazowej
Błąd kompilatora C3211 "function": jawna specjalizacja używa składni częściowej specjalizacji, użyj template <> zamiast tego
Błąd kompilatora C3212 "function": jawna specjalizacja elementu członkowskiego szablonu musi być członkiem jawnej specjalizacji
Błąd kompilatora C3213 klasa bazowa "class" jest mniej dostępna niż "derived_class"
Błąd kompilatora C3214 "argument": nieprawidłowy argument typu dla parametru ogólnego "parametr" ogólnego "type", nie spełnia ograniczenia "ograniczenie"
Błąd kompilatora C3215 "constraint1": parametr typu ogólnego jest już ograniczony przez "constraint2"
Błąd kompilatora C3216 ograniczenie musi być parametrem ogólnym, a nie "typem"
Błąd kompilatora C3217 "parametr": w tej deklaracji nie można ograniczyć parametru ogólnego
Błąd kompilatora C3218 "type": typ nie jest dozwolony jako ograniczenie
Błąd kompilatora C3219 "parametr": parametr ogólny nie może być ograniczony przez wiele innych interfejsów: "typ"
Błąd kompilatora C3220 "interface": interfejs nie może mieć progid
Błąd kompilatora C3221 "member": wiele atrybutów "default" i "case" niedozwolonych w elemencie członkowskim
Błąd kompilatora C3222 "function": nie można zadeklarować domyślnych argumentów dla funkcji składowych typu zarządzanego/WinRT lub funkcji ogólnych
Błąd kompilatora C3223 "property": nie można zastosować elementu "typeid" do właściwości
Błąd kompilatora C3224 "type": brak przeciążonej klasy ogólnej przyjmuje argumenty typu ogólnego "number"
Błąd kompilatora C3225 argument typu ogólnego dla argumentu "argument" nie może być typem, musi być typem wartości lub uchwytem typu odwołania
Błąd kompilatora C3226 Deklaracja szablonu nie jest dozwolona wewnątrz deklaracji ogólnej
Błąd kompilatora C3227 "type": nie można użyć operatora do przydzielenia typu ogólnego
Błąd kompilatora C3228 "function": argument typu ogólnego dla argumentu "argument" nie może być typem, musi być typem wartości lub typem uchwytu
Błąd kompilatora C3229 "type": pośrednie dla parametru typu ogólnego nie są dozwolone
Błąd kompilatora C3230 "function": argument typu szablonu dla argumentu "argument" nie może zawierać ogólnego parametru typu: "type"
Błąd kompilatora C3231 "type": argument typu szablonu nie może użyć parametru typu ogólnego
Błąd kompilatora C3232 "parametr": nie można użyć parametru typu ogólnego w kwalifikowanej nazwie
Błąd kompilatora C3233 "type": parametr typu ogólnego jest już ograniczony
Błąd kompilatora C3234 klasa ogólna może nie pochodzić z parametru typu ogólnego
Błąd kompilatora C3235 "specjalizacja": jawna lub częściowa specjalizacja klasy ogólnej nie jest dozwolona
Błąd kompilatora C3236 jawne utworzenie wystąpienia ogólnego jest niedozwolone
Błąd kompilatora C3237 "class": klasa ogólna nie może być atrybutem niestandardowym
Błąd kompilatora C3238 "type": typ o tej nazwie został już przekazany do zestawu "assembly"
Błąd kompilatora C3239 "type": wskaźnik do wskaźnika wewnętrznego/pinezki jest niedozwolony przez środowisko uruchomieniowe języka wspólnego
Błąd kompilatora C3240 "identifier": musi być nienaładowaną abstrakcyjną funkcją składową typu
Błąd kompilatora C3241 "member": ta metoda nie została wprowadzona przez interfejs
Błąd kompilatora C3242 "function": można jawnie zastąpić tylko funkcje wirtualne
Błąd kompilatora C3243 żadna z funkcji przeciążenia nie została wprowadzona przez "interfejs"
Błąd kompilatora C3244 "member": ta metoda została wprowadzona przez "interface1", a nie przez "interface2"
Błąd kompilatora C3245 "function": użycie szablonu zmiennej wymaga listy argumentów szablonu
Błąd kompilatora C3246 "class": nie może dziedziczyć z "base_class", ponieważ został zadeklarowany jako "dziedziczenie"
Błąd kompilatora C3247 "coclass": coclass nie może dziedziczyć z innej coclass "base_class"
Błąd kompilatora C3248 Nieaktualne. "function": funkcja zadeklarowana jako "zapieczętowana" nie może zostać zastąpiona przez funkcję
Błąd kompilatora C3249 niedozwolona instrukcja lub wyrażenie podrzędne dla funkcji "constexpr" (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3250 "deklaracja": deklaracja nie jest dozwolona w treści funkcji "constexpr" (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3251 Program nie może wywołać metody klasy bazowej w wystąpieniu typu wartości (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3252 "function": nie może zmniejszyć dostępności metody wirtualnej w typie zarządzanym/WinRT
Błąd kompilatora C3253 "function": błąd z jawnym zastąpieniem
Błąd kompilatora C3254 "function": klasa zawiera jawne przesłonięcia "function", ale nie pochodzi z interfejsu, który zawiera deklarację funkcji
Błąd kompilatora C3255 "type": nie można dynamicznie przydzielić tego obiektu typu wartości na natywnej stercie
Błąd kompilatora C3256 "function": użycie zmiennej nie generuje wyrażenia stałego (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3257 Nieaktualne.
Błąd kompilatora C3258 Nieaktualne.
Błąd kompilatora C3259 Funkcje "constexpr" mogą mieć tylko jedną return instrukcję (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3260 "token": pomijanie nieoczekiwanych tokenów przed treścią lambda
Błąd kompilatora C3261 funkcja zwracająca tablicę managed/WinRT musi zawierać nawiasy tablicowe na końcu deklaracji: "identifier(...) []"
Błąd kompilatora C3262 nieprawidłowe indeksowanie tablicy: wymiary liczbowe określone dla liczbowego "typu"
Błąd kompilatora C3263 Nieaktualne.
Błąd kompilatora C3264 "identifier": konstruktor klasy nie może mieć zwracanego typu
Błąd kompilatora C3265 program nie może zadeklarować zarządzanego elementu "managed_construct" w niezarządzanym unmanaged_construct
Błąd kompilatora C3266 "function": konstruktor klasy musi mieć listę parametrów "void"
Błąd kompilatora C3267 Nieaktualne.
Błąd kompilatora C3268 "function": funkcja ogólna lub funkcja-składowa klasy ogólnej nie może mieć listy parametrów zmiennych
Błąd kompilatora C3269 "function": funkcji składowej typu zarządzanego/WinRT nie można zadeklarować za pomocą elementu "..."
Błąd kompilatora C3270 'field': FieldOffset atrybut może być używany tylko w kontekście StructLayout(LayoutKind::Explicit)
Błąd kompilatora C3271 "field": nieprawidłowa wartość "number" dla atrybutu FieldOffset
Błąd kompilatora C3272 Symbol: symbol wymaga FieldOffsetelementu , ponieważ jest elementem członkowskim struktury/klasy type_name zdefiniowanej za pomocą poleceniaStructLayout(LayoutKind::Explicit)
Błąd kompilatora C3273 "słowo kluczowe": niedozwolone w bloku języka C++ try
Błąd kompilatora C3274 finally / __finally bez dopasowania try
Błąd kompilatora C3275 "identifier": nie można użyć tego symbolu bez kwalifikatora (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3276 "Słowo kluczowe": wyjście z finally/__finally bloku ma niezdefiniowane zachowanie podczas obsługi zakończenia
Błąd kompilatora C3277 program nie może zdefiniować niezarządzanego wyliczenia "wyliczenia" wewnątrz zarządzanego "typu"
Błąd kompilatora C3278 bezpośrednie wywołanie interfejsu lub czystej metody "function" zakończy się niepowodzeniem w czasie wykonywania
Błąd kompilatora C3279 częściowe i jawne specjalizacje, a także jawne wystąpienia szablonów klas zadeklarowanych w cli przestrzeni nazw są niedozwolone
Błąd kompilatora C3280 "function": funkcji składowej typu zarządzanego nie można skompilować jako funkcji niezarządzanej
Błąd kompilatora C3281 "function": operator globalny nie może mieć typu "type" zarządzanego/WinRT w podpisie
Błąd kompilatora C3282 listy parametrów ogólnych mogą być wyświetlane tylko w klasach zarządzanych/WinRT, strukturach lub funkcjach
Błąd kompilatora C3283 "interface": interfejs nie może mieć konstruktora wystąpienia
Błąd kompilatora C3284 ograniczenia parametru ogólnego "parametr" funkcji "deklarator" muszą być zgodne z ograniczeniami dla parametru ogólnego "parametr" funkcji "deklarator"
Błąd kompilatora C3285 dla każdej instrukcji nie może działać na zmiennych typu "type"
Błąd kompilatora C3286 "specyfikator": zmienna iteracji nie może mieć żadnych specyfikatorów klasy magazynu
Błąd kompilatora C3287 typ "type" (zwracany GetEnumeratortyp ) musi mieć odpowiednią publiczną MoveNext funkcję składową i właściwość publiczną Current
Błąd kompilatora C3288 "type": niedozwolone wyłusczenie typu uchwytu
Błąd kompilatora C3289 "identifier": nie można indeksować właściwości trywialnych
Błąd kompilatora C3290 "type": właściwość trywialna nie może mieć typu odwołania
Błąd kompilatora C3291 "default": nie może być nazwą właściwości trywiialnej
Błąd kompilatora C3292 nie można ponownie otworzyć przestrzeni nazw interfejsu wiersza polecenia
Błąd kompilatora C3293 "identifier": użyj znaku "default", aby uzyskać dostęp do właściwości domyślnej (indeksator) dla klasy "class"
Błąd kompilatora C3294 Nieaktualne.
Błąd kompilatora C3295 Specyfikator "#pragma" może być używany tylko w zakresie globalnym lub przestrzeni nazw
Błąd kompilatora C3296 "identifier": właściwość o tej nazwie już istnieje
Błąd kompilatora C3297 ' constraint2': nie można użyć "constraint1" jako ograniczenia, ponieważ " constraint1" ma ograniczenie wartości
Błąd kompilatora C3298 ' constraint1': nie można użyć "constraint2" jako ograniczenia, ponieważ " constraint2" ma ograniczenie ref i " constraint1" ma ograniczenie wartości
Błąd kompilatora C3299 " function": nie można określić ograniczeń, są one dziedziczone z metody podstawowej

Zobacz też

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