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 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