Udostępnij za pomocą


Błędy kompilatora — od C3400 do C3499

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 C3400 Zależność ograniczenia cyklicznego obejmująca "ograniczenie1" i "constraint2"
Błąd kompilatora C3401 "specyfikator": nieprawidłowy specyfikator dostępu do zestawu — tylko "prywatny" jest dozwolony w szablonach klas
Błąd kompilatora C3402 "function": nie można rozpoznać przeciążenia z wyjątkiem bieżącego zakresu
Błąd kompilatora C3403 thread_local nie można używać z /clr:pure lub /clr:safe
Błąd kompilatora C3404 "construct": nieoczekiwany błąd składni
Błąd kompilatora C3405 "function": nie można rozpoznać przeciążenia bez pełnego deskryptora
Błąd kompilatora C3406 "słowo kluczowe": nie można użyć w specyfikatorze typu opracowanego
Błąd kompilatora C3407 "type" nie można użyć w tym kontekście
Błąd kompilatora C3408 "attribute": atrybut nie jest dozwolony w definicjach szablonów
Błąd kompilatora C3409 pusty blok atrybutów jest niedozwolony
Błąd kompilatora C3410 "identifier": typ jawnego wystąpienia "type" nie jest zgodny z typem szablonu zmiennej "type"
Błąd kompilatora C3411 Typ jest nieprawidłowy jako rozmiar tablicy, ponieważ nie jest to typ liczb całkowitych
Błąd kompilatora C3412 "specjalizacja": nie można specjalizować szablonu w bieżącym zakresie
Błąd kompilatora C3413 "template": nieprawidłowe wystąpienie jawne
Błąd kompilatora C3414 "function": nie można zdefiniować zaimportowanych funkcji składowych
Błąd kompilatora C3415 wiele sekcji "sekcja" znalezionych z różnymi atrybutami (wartość 0x)
Błąd kompilatora C3416 Nieaktualne.
Błąd kompilatora C3417 "deklarator": typy wartości nie mogą zawierać funkcji specjalnych składowych zdefiniowanych przez użytkownika
Błąd kompilatora C3418 specyfikator dostępu "specyfikator" nie jest obsługiwany
Błąd kompilatora C3419 Nieaktualne.
Błąd kompilatora C3420 "function": finalizator nie może być wirtualny
Błąd kompilatora C3421 "function": nie można wywołać finalizatora dla tej klasy, ponieważ jest niedostępny lub nie istnieje
Błąd kompilatora C3422 "deklaracja": niezgodne typy "type" i "type"
Błąd kompilatora C3423 Nieaktualne.
Błąd kompilatora C3424 "type": rzutowanie w stylu funkcji na typ tablicy jest niedozwolone
Błąd kompilatora C3425 Nie można zgłosić wskaźnika do obiektu niekompletnego typu "type"
Błąd kompilatora C3426 program nie może zgłaszać obiektu niekompletnego typu "type"
Błąd kompilatora C3427 "context": "słowo kluczowe" nie może być używane z layout_version(liczba)
Błąd kompilatora C3428 "context": słowo kluczowe można stosować tylko do deklaracji klas lub definicji
Błąd kompilatora C3429 "context": "słowo kluczowe" nie może być stosowane do unii
Błąd kompilatora C3430 wyliczenie w zakresie musi mieć nazwę
Błąd kompilatora C3431 "identifier": type1 nie można ponownie zadeklarować jako type2
Błąd kompilatora C3432 "identifier": deklaracja przesyłania dalej wyliczenia niezakresowego musi mieć typ bazowy
Błąd kompilatora C3433 "identifier": wszystkie deklaracje wyliczenia muszą mieć ten sam typ bazowy, był "type1" teraz "type2"
Błąd kompilatora C3434 "context": wartość modułu wyliczającego "number" nie może być reprezentowana jako "typ", wartość to "number"
Błąd kompilatora C3435 zestaw znaków "name" nie jest obsługiwany.
Błąd kompilatora C3436 #pragma setlocale nie jest obsługiwane, gdy określono /source-charset, /execution-charset lub /utf-8
Błąd kompilatora C3437 #pragma execution_character_set nie jest obsługiwana, gdy określono /source-charset, /execution-charset lub /utf-8
Błąd kompilatora C3438 "context": "value" nie można zastosować do klasy zarządzanej/WinRT
Błąd kompilatora C3439 layout_version(numer): nieprawidłowy numer wersji
Błąd kompilatora C3440 "deklaracja": layout_version(liczba) niezgodna z poprzednią deklaracją
Błąd kompilatora C3441 "deklaracja": nie można zastosować słowa kluczowego po zdefiniowaniu klasy
Błąd kompilatora C3442 Inicjowanie wielu członków unii: "member1" i "member2"
Błąd kompilatora C3443 Domyślny inicjator składowych "class" jest rekursywny
Błąd kompilatora C3444 Pusta klasa agregacji "class" musi zostać zainicjowana za pomocą elementu "{}"
Błąd kompilatora C3445 inicjalizacja typu copy-list nie może używać jawnego konstruktora
Błąd kompilatora C3446 "class": domyślny inicjator składowy nie jest dozwolony dla składowej klasy wartości
Błąd kompilatora C3447 operand operatora ?: warunkowego jest typu "void", ale inny operand nie jest wyrażeniem rzutu ani typem "void"
Błąd kompilatora C3448 liczba identyfikatorów musi być zgodna z liczbą elementów tablicy lub elementów członkowskich w deklaracji powiązania strukturalnego
Błąd kompilatora C3449 liczba identyfikatorów musi być zgodna z wartością std::tuple_size<type-name>::value w powiązaniu ustrukturyzowanym typu przypominającego krotkę
Błąd kompilatora C3450 'type': not an attribute; cannot specify []/[System::AttributeUsageAttributeWindows::Foundation::Metadata::AttributeUsageAttribute]
Błąd kompilatora C3451 "attribute": nie można zastosować atrybutu niezarządzanych do "type"
Błąd kompilatora C3452 element członkowski argumentu listy nie jest stały
Błąd kompilatora C3453 "attribute": atrybut nie zastosowano, ponieważ kwalifikator "kwalifikator" nie był zgodny
Błąd kompilatora C3454 [atrybut] niedozwolone w deklaracji klasy
Błąd kompilatora C3455 "attribute": żaden z konstruktorów atrybutów nie pasuje do argumentów
Błąd kompilatora C3456 [source-annotation-attribute] niedozwolone w deklaracji klasy managed/WinRT
Błąd kompilatora C3457 "attribute": atrybut nie obsługuje argumentów bez nazw
Błąd kompilatora C3458 "[attribute]": atrybut "[attribute]" już określony dla "identifier"
Błąd kompilatora C3459 "[attribute]": atrybut dozwolony tylko dla indeksatora klas (domyślna właściwość indeksowana)
Błąd kompilatora C3460 "typ": można przekazywać tylko typ zdefiniowany przez użytkownika
Błąd kompilatora C3461 "type": można przekazywać dalej tylko typ zarządzany/WinRT
Błąd kompilatora C3462 "typ": można przekazywać tylko importowany typ
Błąd kompilatora C3463 "type": typ niedozwolony w atrybucie "implementuje"
Błąd kompilatora C3464 "Typ" typu zagnieżdżonego nie można przekazać dalej
Błąd kompilatora C3465 aby użyć typu "type", musisz odwołać się do zestawu "assembly"
Błąd kompilatora C3466 "type": nie można przekazać specjalizacji klasy ogólnej
Błąd kompilatora C3467 "type": ten typ został już przekazany
Błąd kompilatora C3468 "type": można przekazywać tylko typ do zestawu: "identyfikator" nie jest zestawem
Błąd kompilatora C3469 "type": nie można przekazać klasy ogólnej
Błąd kompilatora C3470 "class": klasa nie może mieć zarówno indeksatora (domyślnej właściwości indeksowanej) jak i operatora[]
Błąd kompilatora C3471 nowa nazwa modułu nazwa modułu (ustawiona w wierszu polecenia) powoduje konflikt z poprzednią nazwą modułu
Błąd kompilatora C3472 nowa nazwa pliku wyjściowego (ustawiona w wierszu polecenia) powoduje konflikt z poprzednią nazwą pliku
Błąd kompilatora C3473 nie określono nazwy ścieżki wyjściowej ani nazwy modułu.
Błąd kompilatora C3474 nie można otworzyć pliku wyjściowego "nazwa pliku"
Błąd kompilatora C3475 błąd składniowy w pliku wejściowym "nazwa pliku"
Błąd kompilatora C3476 Nie można otworzyć pliku "nazwa pliku" dla danych wejściowych
Błąd kompilatora C3477 lambda nie może pojawić się w nieowartym kontekście
Błąd kompilatora C3478 "identifier": tablica nie może być przechwytywana przez kopię
Błąd kompilatora C3479 Adnotacje SAL w wyrażeniach lambd nie są obsługiwane
Błąd kompilatora C3480 "zmienna": zmienna przechwytywania lambda musi pochodzić z otaczającego zakresu funkcji
Błąd kompilatora C3481 "identifier": nie znaleziono zmiennej przechwytywania lambda
Błąd kompilatora C3482 "to" może być używane tylko jako przechwytywanie lambda w funkcji niestacjonanej składowej
Błąd kompilatora C3483 Element "identifier" jest już częścią listy przechwytywania lambda
Błąd kompilatora C3484 błąd składni: oczekiwany "->" przed typem zwracanym
Błąd kompilatora C3485 Definicja lambda nie może mieć żadnych kwalifikatorów cv (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3486 parametr lambda nie może mieć argumentu domyślnego (przestarzałe w programie Visual Studio 2022).
Błąd kompilatora C3487 "type": wszystkie wyrażenia zwracane muszą być wywoływane do tego samego typu: wcześniej był to "typ"
Błąd kompilatora C3488 '&identifier' jest niedozwolony, gdy domyślny tryb przechwytywania jest przywoływane
Błąd kompilatora C3489 Element "&identifier" jest wymagany, gdy domyślny tryb przechwytywania jest kopiowany
Błąd kompilatora C3490 Nie można zmodyfikować identyfikatora, ponieważ jest on uzyskiwany za pośrednictwem obiektu const
Błąd kompilatora C3491 "identyfikator": przechwytywanie kopii nie może być modyfikowane w niemłodalnej lambda
Błąd kompilatora C3492 "identyfikator": nie można przechwycić członka anonimowego związku
Błąd kompilatora C3493 "Identyfikator" nie może być przechwytywany niejawnie, ponieważ nie określono domyślnego trybu przechwytywania
Błąd kompilatora C3494 "To" nie można jawnie przechwycić, ponieważ tryb przechwytywania otaczającego nie zezwala na to
Błąd kompilatora C3495 "identyfikator": identyfikator w przechwytywaniu musi być zmienną z automatycznym czasem trwania magazynu zadeklarowanym w zakresie osiągnięcia lambda
Błąd kompilatora C3496 "to" jest zawsze przechwytywane przez wartość: "&" ignorowane
Błąd kompilatora C3497 nie można skonstruować wystąpienia lambda
Błąd kompilatora C3498 "identyfikator": nie można przechwycić zmiennej, która ma typ zarządzany/WinRT
Błąd kompilatora C3499 parametr lambda, który został określony, aby typ zwracany pustki nie może zwrócić wartości

Zobacz też

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