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. Gdy naprawiasz problemy w projekcie, zawsze zaczynaj od pierwszego zgłoszonego błędu lub ostrzeżenia i często kompiluj ponownie. 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 zostały utworzone, ale nie są generowane przez kompilator i teraz przekierowują do tej strony.
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 C2600 | "function": nie można zdefiniować specjalnej funkcji składowej wygenerowanej przez kompilator (należy zadeklarować w pierwszej klasie) |
| Błąd kompilatora C2601 | "function": lokalne definicje funkcji są niedozwolone |
| Błąd kompilatora C2602 | "class::identifier" nie jest składową klasy bazowej klasy "class" |
| Błąd kompilatora C2603 | "function": Zbyt wiele blokowych obiektów statycznych z konstruktorami/destruktorami w funkcji |
| Błąd kompilatora C2604 | "identifier": Nie można zaimplementować więcej niż jednej metody interfejsu |
| Błąd kompilatora C2605 | "identifier": ta metoda jest zarezerwowana w klasie zarządzanej/WinRT |
| Błąd kompilatora C2606 | "class1": nie można ponownie zaimplementować członka, ponieważ jest dziedziczony z klasy bazowej środowiska uruchomieniowego "class2" |
| Błąd kompilatora C2607 | asercja statyczna nie powiodła się |
| Błąd kompilatora C2608 | nieprawidłowy token "token" na liście parametrów makro |
| Błąd kompilatora C2609 | brak znaku ")" na liście parametrów makr |
| Błąd kompilatora C2610 | 'class::member': nie jest specjalną funkcją składową, która może być ustawiona jako domyślna |
| Błąd kompilatora C2611 | "token": niedozwolony element po '~' (oczekiwany identyfikator) |
| Błąd kompilatora C2612 | końcowy znak niedozwolony na liście inicjatora podstawowego/elementu członkowskiego |
| Błąd kompilatora C2613 | niedozwolony znak końcowy 'character' na liście klas bazowych |
| Błąd kompilatora C2614 | "class": nielegalna inicjalizacja składowych: "identyfikator" nie jest klasą bazową ani składową |
| Błąd kompilatora C2615 | "offsetof" nie można zastosować do typu innego niż klasa "typu" |
| Błąd kompilatora C2616 | "konwersja": nie można niejawnie przekonwertować obiektu niebędącego lwartością "type1" na "type2", który nie jest const" |
| Błąd kompilatora C2617 | "function": niespójna instrukcja return |
| Błąd kompilatora C2618 | nielegalny określnik elementów w offsetof |
| Błąd kompilatora C2619 | "identifier": statyczne pole danych nie jest dozwolone w anonimowej strukturze/anonimowym złożeniu |
| Błąd kompilatora C2620 | Nieaktualne. |
| Błąd kompilatora C2621 | Nieaktualne. |
| Błąd kompilatora C2622 | Nieaktualne. |
| Błąd kompilatora C2623 | Nieaktualne. |
| Błąd kompilatora C2624 | "scope::type": nie można używać klas lokalnych do deklarowania zmiennych "extern" |
| Błąd kompilatora C2625 | "identyfikator": niedozwolony element członkowski unii; typ "type" jest typem referencyjnym |
| Błąd kompilatora C2626 | "identyfikator": prywatna/chroniona składowa danych nie jest dozwolona w anonimowej strukturze/unii |
| Błąd kompilatora C2627 | "function": funkcja składowa nie jest dozwolona w anonimowym unionie |
| Błąd kompilatora C2628 | "type1", po którym następuje "type2", jest niedozwolone (czy zapomniałeś ';'?) |
| Błąd kompilatora C2629 | "identifier": anonimowa struktura/połączenie nie może zadeklarować zagnieżdżonego typu |
| Błąd kompilatora C2630 | "symbol" znaleziony w tym, co powinno być listą rozdzielaną przecinkami |
| Błąd kompilatora C2631 | "identyfikator": nie można zdefiniować klasy lub wyliczenia w szablonie aliasu |
| Błąd kompilatora C2632 | "type1", po którym następuje "type2", jest niedozwolone |
| Błąd kompilatora C2633 | "identifier": "inline" jest jedyną legalną klasą przechowywania dla konstruktorów |
| Błąd kompilatora C2634 | 'class::member': wskaźnik do składowej referencyjnej jest niedozwolony |
| Błąd kompilatora C2635 | program nie może przekonwertować 'type1*' na 'type2*'; przekonwertowanie z wirtualnej klasy bazowej jest dorozumiane |
| Błąd kompilatora C2636 | "identyfikator": wskaźnik do odniesienia jest niepoprawny |
| Błąd kompilatora C2637 | "identifier": nie można modyfikować wskaźników do elementów członkowskich danych |
| Błąd kompilatora C2638 | "identyfikator": modyfikator __based niedozwolony dla wskaźnika do członka |
| Błąd kompilatora C2639 | końcowy typ zwrotny "typ" przewodnika dedukcji powinien być specjalizacją szablonu klasy |
| Błąd kompilatora C2640 | "deklarator abstrakcyjny": modyfikator __based niedozwolony przy referencji |
| Błąd kompilatora C2641 | nie można wyłudzać argumentów szablonu dla nazwy szablonu" |
| Błąd kompilatora C2642 | dwie deklaracje przewodników dedukcji dla tego samego szablonu klasy nie mogą mieć równoważnej listy parametrów i główki szablonu |
| Błąd kompilatora C2643 | Przewodnik dedukcji powinien być zadeklarowany w tym samym zakresie co odpowiadający mu szablon klasy „nazwa szablonu”. |
| Błąd kompilatora C2644 | Przewodnik dedukcyjny powinien mieć taki sam dostęp jak odpowiedni szablon klasy „nazwa szablonu” |
| Błąd kompilatora C2645 | brak kwalifikowanej nazwy wskaźnika do elementu członkowskiego (znaleziono ':: *') |
| Błąd kompilatora C2646 | anonimowa struktura/unia w zakresie globalnym lub przestrzeni nazw musi być zadeklarowana jako statyczna |
| Błąd kompilatora C2647 | "operator": nie można odwołać się do "type1" na 'type2' |
| Błąd kompilatora C2648 | "identifier": użycie członka jako parametru domyślnego wymaga członka statycznego |
| Błąd kompilatora C2649 | "identifier": nie jest elementem "class/struct/union" |
| Błąd kompilatora C2650 | "operator": nie może być funkcją wirtualną |
| Błąd kompilatora C2651 | 'type': lewo od '::' musi być klasą, strukturą lub unionem |
| Błąd kompilatora C2652 | "identifier": niedozwolony konstruktor kopiowania: pierwszy parametr nie może być "typem" |
| Błąd kompilatora C2653 | "identifier": nie jest nazwą klasy ani przestrzeni nazw |
| Błąd kompilatora C2654 | "identifier": próba uzyskania dostępu do członka poza funkcją składową |
| Błąd kompilatora C2655 | "identyfikator": definicja lub ponowne zadeklarowanie niedozwolone w aktualnym kontekście" |
| Błąd kompilatora C2656 | "function": funkcja nie jest dozwolona jako pole bitowe |
| Błąd kompilatora C2657 | "class::*" znaleziony na początku instrukcji (czy zapomnisz określić typ?) |
| Błąd kompilatora C2658 | "identifier": ponowne zdefiniowanie w anonimowej strukturze/unii |
| Błąd kompilatora C2659 | "operator": funkcja jako lewy operand |
| Błąd kompilatora C2660 | "function": funkcja nie bierze argumentów liczbowych |
| Błąd kompilatora C2661 | "function": żadna przeciążona funkcja nie przyjmuje argumentów liczbowych |
| Błąd kompilatora C2662 | "function": nie można przekonwertować wskaźnika "this" z "type1" na "type2" |
| Błąd kompilatora C2663 | 'function': żadna przeciążona funkcja nie ma prawidłowej konwersji dla wskaźnikathis' |
| Błąd kompilatora C2664 | "function": nie można przekonwertować argumentu numeru z "type1" na "type2" |
| Błąd kompilatora C2665 | "funkcja": żadna przeciążona funkcja nie mogła przekonwertować wszystkich typów argumentów |
| Błąd kompilatora C2666 | "funkcja": przeciążone funkcje mają podobne konwersje |
| Błąd kompilatora C2667 | "funkcja": żadna przeciążona funkcja nie ma najlepszej konwersji |
| Błąd kompilatora C2668 | "function": niejednoznaczne wywołanie funkcji przeciążonej |
| Błąd kompilatora C2669 | funkcja składowa nie jest dozwolona w unii anonimowej |
| Błąd kompilatora C2670 | "function": szablon funkcji nie może przekonwertować liczby parametru number z typu "typ" |
| Błąd kompilatora C2671 | "function": statyczne funkcje składowe nie mają wskaźników "this" |
| Błąd kompilatora C2672 | "function": nie znaleziono pasującej przeciążonej funkcji |
| Błąd kompilatora C2673 | "function": funkcje globalne nie mają wskaźników "this" |
| Błąd kompilatora C2674 | deklaracja ogólna nie jest dozwolona w tym kontekście |
| Błąd kompilatora C2675 | jednoargumentowy 'operator': 'typ' nie definiuje tego operatora ani konwersji na typ akceptowalny dla wstępnie zdefiniowanego operatora |
| Błąd kompilatora C2676 | binarny operator "operator": "type" nie definiuje tego operatora ani konwersji na typ akceptowalny dla wstępnie zdefiniowanego operatora |
| Błąd kompilatora C2677 | binarny operator "operator": nie znaleziono operatora globalnego, który przyjmuje typ "type" (lub nie ma dopuszczalnej konwersji) |
| Błąd kompilatora C2678 | binarny operator "operator": nie znaleziono operatora przyjmującego lewy operand typu "type" (lub nie ma dopuszczalnej konwersji) |
| Błąd kompilatora C2679 | binarny operator "operator": nie znaleziono operatora, który przyjmuje prawostronny operand typu "type" (lub nie ma dopuszczalnej konwersji) |
| Błąd kompilatora C2680 | "type": nieprawidłowy typ docelowy dla rzutu |
| Błąd kompilatora C2681 | "type": nieprawidłowy typ wyrażenia dla rzutu |
| Błąd kompilatora C2682 | Nie można użyć rzutowania do konwersji z "type1" na "type2" |
| Błąd kompilatora C2683 | cast: type nie jest typem polimorficznym |
| Błąd kompilatora C2684 | "deklarator": usunięte i domyślne funkcje nie są obsługiwane w klasach zarządzanych/WinRT |
| Błąd kompilatora C2685 | "deklarator": funkcje usunięte i domyślne nie są obsługiwane z użyciem jawnych specyfikatorów ograniczeń |
| Błąd kompilatora C2686 | nie można przeciążać statycznych i niestatycznych funkcji składowych z tymi samymi typami parametrów |
| Błąd kompilatora C2687 | "type": deklaracja wyjątku nie może być "void" ani oznaczać niekompletnego typu lub wskaźnika lub odwołania do niekompletnego typu |
| Błąd kompilatora C2688 | 'type::member': kowariantne zwracanie przy wielokrotnym lub wirtualnym dziedziczeniu nie jest obsługiwane dla funkcji varargs |
| Błąd kompilatora C2689 | "function": nie można zdefiniować funkcji znajomej w klasie lokalnej |
| Błąd kompilatora C2690 | "operator": nie można wykonać arytmetyki wskaźnika na tablicy zarządzanej/WinRT |
| Błąd kompilatora C2691 | "type": tablica zarządzana/WinRT nie może mieć tego typu elementu |
| Błąd kompilatora C2692 | "function": w pełni prototypowane funkcje wymagane w kompilatorze języka C z opcją "/clr" |
| Błąd kompilatora C2693 | "operator": nielegalne porównanie dla referencji do zarządzanej tablicy WinRT" |
| Błąd kompilatora C2694 | "override_function": zastępowanie funkcji wirtualnej ma mniej restrykcyjną specyfikację wyjątku niż funkcja wirtualna klasy bazowej "base_function" |
| Błąd kompilatora C2695 | "override_function": zastępowanie funkcji wirtualnej różni się od "base_function" tylko konwencją wywołania" |
| Błąd kompilatora C2696 | Nie można utworzyć tymczasowego obiektu zarządzanego/winRT typu "type" |
| Błąd kompilatora C2697 | Nieaktualne. |
| Błąd kompilatora C2698 | deklaracja using dla "deklaracja1" nie może współistnieć z istniejącą deklaracją using dla "deklaracja2" |
Zobacz też
Błędy i ostrzeżenia kompilatora C/C++ i narzędzi kompilacji
Błędy kompilatora C2000 — C3999, C7000 – C7999