Udostępnij za pomocą


Błędy kompilatora — od C2400 do C2499

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 C2400 Błąd składni asemblera wbudowanego w "context"; znaleziono "token"
Błąd kompilatora C2401 "identyfikator": rejestr musi być bazą w "kontekście"
Błąd kompilatora C2402 "identyfikator": rejestr musi być indeksem w "kontekście"
Błąd kompilatora C2403 "identifier": register musi być base/index w "context"
Błąd kompilatora C2404 "identyfikator": nielegalny rejestr w "kontekście"
Błąd kompilatora C2405 niedozwolone krótkie odwołanie do przodu z przesunięciem
Błąd kompilatora C2406 "identyfikator": nazwa niezdefiniowana w kontekście
Błąd kompilatora C2407 nielegalny rejestr "float" w "kontekście"
Błąd kompilatora C2408 niedozwolony typ operatora PTR w "kontekście"
Błąd kompilatora C2409 niedozwolony typ używany jako operator w kontekście
Błąd kompilatora C2410 "identifier": niejednoznaczna nazwa elementu członkowskiego w kontekście
Błąd kompilatora C2411 "identifier": niedozwolona struktura/składowa unii w "kontekście"
Błąd kompilatora C2412 "label": etykieta bez uwzględniania wielkości liter została ponownie zdefiniowana
Błąd kompilatora C2413 "identyfikator": nielegalny rozmiar wyrównania
Błąd kompilatora C2414 niedozwolona liczba operandów
Błąd kompilatora C2415 niewłaściwy typ operandu
Błąd kompilatora C2416 w tym kontekście nie można zastosować atrybutu "attribute"
Błąd kompilatora C2417 dzielenie przez zero w kontekście
Błąd kompilatora C2418 program nie może usunąć pliku przeglądarki: nazwa pliku
Błąd kompilatora C2419 mod by zero w "context"
Błąd kompilatora C2420 "identyfikator": niedozwolony symbol w kontekście
Błąd kompilatora C2421 Operator PTR używany z rejestracją w "kontekście"
Błąd kompilatora C2422 niedozwolone zastąpienie segmentu w kontekście
Błąd kompilatora C2423 "liczba": nielegalna skala
Błąd kompilatora C2424 "token": nieprawidłowe wyrażenie w "kontekście"
Błąd kompilatora C2425 "token": wyrażenie inne niż stałe w kontekście
Błąd kompilatora C2426 "token": nielegalny operator w "kontekście"
Błąd kompilatora C2427 "klasa": nie można zdefiniować klasy w tym zakresie
Błąd kompilatora C2428 "operation": niedozwolone na operandie typu "bool"
Błąd kompilatora C2429 Funkcja języka wymaga flagi kompilatora "opcja kompilatora"
Błąd kompilatora C2430 więcej niż jeden rejestr indeksów w "kontekście"
Błąd kompilatora C2431 nielegalny rejestr indeksów w "kontekście"
Błąd kompilatora C2432 niedozwolone odwołanie do danych 16-bitowych w kontekście
Błąd kompilatora C2433 "identifier": "modyfikator" niedozwolony w deklaracjach danych
Błąd kompilatora C2434 "symbol": symbol zadeklarowany za pomocą __declspec(process) polecenia nie może być dynamicznie inicjowany w /clr:pure trybie
Błąd kompilatora C2435 "var": inicjowanie dynamiczne wymaga zarządzanego CRT, nie można skompilować za pomocą polecenia /clr:safe
Błąd kompilatora C2436 "identifier": funkcja składowa lub klasa zagnieżdżona na liście inicjatora konstruktora
Błąd kompilatora C2437 "identyfikator": został już zainicjowany
Błąd kompilatora C2438 "identifier": nie można zainicjować danych klasy statycznej za pomocą konstruktora
Błąd kompilatora C2439 "identifier": nie można zainicjować elementu członkowskiego
Błąd kompilatora C2440 "konwersja": nie można przekonwertować z "type_1" na "type_2"
Błąd kompilatora C2441 "zmienna": symbol zadeklarowany za pomocą __declspec(process) musi być const w trybie /clr:pure
Błąd kompilatora C2442 "identifier": zagnieżdżonej definicji przestrzeni nazw nie może być wbudowane ani mieć atrybutów
Błąd kompilatora C2443 konflikt rozmiaru operandu
Błąd kompilatora C2444 "identifier": użyto prototypu ANSI, znaleziono "type", oczekiwano "{" lub ";"
Błąd kompilatora C2446 "operator": brak konwersji z "type_1" na "type_2"
Błąd kompilatora C2447 "{": brak nagłówka funkcji (stara lista formalna?)
Błąd kompilatora C2448 "identifier": inicjator stylu funkcji wydaje się być definicją funkcji
Błąd kompilatora C2449 znaleziono element "{" w zakresie pliku (brak nagłówka funkcji?)
Błąd kompilatora C2450 wyrażenie przełącznika typu "type" jest niedozwolone
Błąd kompilatora C2451 wyrażenie warunkowe typu "type" jest niedozwolone
Błąd kompilatora C2452 "type": nieprawidłowy typ źródła dla safe_cast
Błąd kompilatora C2453 "type": nieprawidłowy typ docelowy dla safe_cast
Błąd kompilatora C2454 "identyfikator": nie można zadeklarować nazwy aliasu przestrzeni nazw przy użyciu kwalifikowanej nazwy
Błąd kompilatora C2455 Klasa "class" klasy ref WinRT, która pochodzi z zaimportowanej klasy bazowej, nie może być abstrakcyjna.
Błąd kompilatora C2456 Klasa "class" niezaużytego klasy ref nie może mieć publicznego widocznego konstruktora. Należy przypieczętować klasę lub określić konstruktor jako "internal", "protected private" lub "private".
Błąd kompilatora C2457 "identifier": wstępnie zdefiniowane makro nie może pojawić się poza treścią funkcji
Błąd kompilatora C2458 "identyfikator": ponowne zdefiniowanie definicji w definicji
Błąd kompilatora C2459 "identyfikator": jest definiowany; nie można dodać go jako anonimowego elementu członkowskiego
Błąd kompilatora C2460 "identifier_1": używa elementu "identifier_2", który jest definiowany
Błąd kompilatora C2461 "class": brak parametrów formalnych składni konstruktora
Błąd kompilatora C2462 "identyfikator": nie można zdefiniować typu w wyrażeniu "new-expression"
Błąd kompilatora C2464 "type": nie można użyć elementu "new", aby przydzielić odwołanie
Błąd kompilatora C2465 program nie może zdefiniować typu anonimowego wewnątrz nawiasów
Błąd kompilatora C2466 program nie może przydzielić tablicy o stałym rozmiarze 0
Błąd kompilatora C2467 nielegalna deklaracja anonimowego "user_defined_type"
Błąd kompilatora C2468 konstruktor nie może być "constexpr" w klasie lub struktury z wirtualnymi klasami bazowymi
Błąd kompilatora C2469 'new': nie można przydzielić obiektów "void"
Błąd kompilatora C2470 "function": wygląda jak definicja funkcji, ale nie ma listy parametrów; pomijanie widocznej treści
Błąd kompilatora C2471 Nie można zaktualizować bazy danych programu "nazwa pliku"
Błąd kompilatora C2472 Nie można wygenerować funkcji w kodzie zarządzanym: "message"; kompiluj z /clr w celu wygenerowania obrazu mieszanego
Błąd kompilatora C2473 "identifier": wygląda jak definicja funkcji, ale nie ma listy parametrów.
Błąd kompilatora C2474 "identyfikator": brak sąsiadującego średnika może być słowem kluczowym lub identyfikatorem.
Błąd kompilatora C2475 "identyfikator": ponowne zdefiniowanie; Niezgodność specyfikatora "constexpr"
Błąd kompilatora C2477 "składowa": nie można zainicjować składowej danych statycznych za pośrednictwem klasy pochodnej
Błąd kompilatora C2478 deklaracja jest niezgodna z wystąpieniem
Błąd kompilatora C2479 "identyfikator": "allocate( )" jest prawidłowy tylko dla elementów danych w zakresie statycznym
Błąd kompilatora C2480 "identyfikator": "thread" jest prawidłowy tylko dla elementów danych w zakresie statycznym
Błąd kompilatora C2481 "identyfikator": thread_local jest prawidłowy tylko dla statycznych elementów członkowskich i zmiennych w przestrzeni nazw lub zakresie bloku
Błąd kompilatora C2482 "identifier": dynamiczne inicjowanie danych lokalnych wątku niedozwolone w kodzie zarządzanym/WINRT
Błąd kompilatora C2483 "identifier": obiekt z destruktorem lub typem niegregowanym nie można zadeklarować z czasem trwania magazynu wątków w kodzie zarządzanym/WINRT
Błąd kompilatora C2485 "identyfikator": nierozpoznany atrybut rozszerzony
Błąd kompilatora C2486 '__LOCAL_SIZE' dozwolone tylko w funkcji z atrybutem "naked"
Błąd kompilatora C2487 "identifier": element członkowski klasy interfejsu dll może nie być zadeklarowany za pomocą interfejsu dll
Błąd kompilatora C2488 "identifier": "naked" można stosować tylko do definicji funkcji innych niż składowe
Błąd kompilatora C2489 "identifier": zainicjowana automatycznie lub zarejestrowana zmienna niedozwolona w zakresie funkcji w funkcji "naked"
Błąd kompilatora C2490 Słowo kluczowe "" niedozwolone w funkcji z atrybutem "naked"
Błąd kompilatora C2491 "identifier": definicja funkcji dllimport jest niedozwolona
Błąd kompilatora C2492 "zmienna": dane z czasem trwania magazynu wątków mogą nie mieć interfejsu dll
Błąd kompilatora C2493 niedozwolona forma __based
Błąd kompilatora C2494 "Słowo kluczowe" nie może być wywoływane z poziomu wyrażenia filtru lub __finally/finally bloku
Błąd kompilatora C2495 "identifier": "__declspec(noexcept)" można stosować tylko do deklaracji funkcji lub definicji
Błąd kompilatora C2496 "identyfikator": "selectany" można stosować tylko do elementów danych z zewnętrznym połączeniem
Błąd kompilatora C2497 "identifier": "implementation_key" można stosować tylko do deklaracji funkcji
Błąd kompilatora C2498 "function": "novtable" można stosować tylko do deklaracji klas lub definicji
Błąd kompilatora C2499 "klasa": klasa nie może być własną klasą bazową

Zobacz też

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