Uwaga
Dostęp do tej strony wymaga autoryzacji. Może 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 C2900 | "deklarator": szablony funkcji składowych w klasach WinRT muszą być "prywatne", "wewnętrzne" lub "chronione prywatne" |
Błąd kompilatora C2901 | "identyfikator": interfejs ogólny lub delegat nie może być publiczny |
Błąd kompilatora C2902 | "token": nieoczekiwany token po "template/generic", oczekiwany identyfikator (przestarzały w programie Visual Studio 2022). |
Błąd kompilatora C2903 | "identifier": symbol nie jest ani szablonem klasy, ani ogólnym, ani szablonem funkcji/ogólnym |
Błąd kompilatora C2904 | "identifier": nazwa już używana dla szablonu w bieżącym zakresie |
Błąd kompilatora C2905 | Nieaktualne. |
Błąd kompilatora C2906 | "template": jawna specjalizacja wymaga "szablonu <>" |
Błąd kompilatora C2907 | argument rejestru "number" nie określa prawidłowego numeru rejestru |
Błąd kompilatora C2908 | jawna specjalizacja; Wystąpienie szablonu zostało już utworzone |
Błąd kompilatora C2909 | "identifier": jawne utworzenie wystąpienia szablonu funkcji wymaga zwracanego typu |
Błąd kompilatora C2910 | "function": nie może być jawnie wyspecjalizowany |
Błąd kompilatora C2911 | "element członkowski": nie można zadeklarować ani zdefiniować go w bieżącym zakresie |
Błąd kompilatora C2912 | jawna specjalizacja "deklaracja" nie jest specjalizacją szablonu funkcji |
Błąd kompilatora C2913 | jawna specjalizacja; "deklaracja" nie jest specjalizacją szablonu klasy |
Błąd kompilatora C2914 | "identifier": nie można wyłudzać szablonu/argumentu ogólnego, ponieważ argument funkcji jest niejednoznaczny |
Błąd kompilatora C2915 | "identifier": "type" nie można używać bezpośrednio na opublikowanej powierzchni typu WinRT. Zamiast tego użyj polecenia "Platform::Object^", aby przekazać ten typ |
Błąd kompilatora C2916 | "identifier": [FlagsAttribute] musi (tylko) być określony w publicznym wyliczeniem z typem bazowym "niepodpisane int" |
Błąd kompilatora C2917 | "identifier": nieprawidłowy parametr-szablonu (przestarzały w programie Visual Studio 2022). |
Błąd kompilatora C2918 | "identifier": Właściwości indeksowane nie mogą być używane na opublikowanej powierzchni typu WinRT |
Błąd kompilatora C2919 | "type": Operatory nie mogą być używane na opublikowanej powierzchni typu WinRT |
Błąd kompilatora C2920 | redefinition: "type": szablon klasy/rodzaj został już zadeklarowany jako "deklaracja" |
Błąd kompilatora C2921 | redefinition: "type": szablon klasy/rodzaj jest ponownie deklarowany jako "deklaracja" |
Błąd kompilatora C2922 | "interface": interfejs WinRT nie może zawierać statycznych elementów członkowskich |
Błąd kompilatora C2923 | "type": "identifier" nie jest prawidłowym argumentem szablonu/typu ogólnego dla parametru "parametr" |
Błąd kompilatora C2924 | argument rutynowy __declspec(przerwania) nie w R2 |
Błąd kompilatora C2925 | procedury __declspec(przerwania) nie mogą używać zmiennoprzecinkowych |
Błąd kompilatora C2926 | "identifier": domyślny inicjator składowy nie jest dozwolony dla elementu członkowskiego anonimowej struktury w unii |
Błąd kompilatora C2927 | "identifier": szablon funkcji musi być wywoływany z co najmniej jednym argumentem |
Błąd kompilatora C2928 | jawne utworzenie wystąpienia; "identifier" nie jest elementem członkowskim funkcji ani statycznych danych klasy szablonu "class" |
Błąd kompilatora C2929 | "deklarator": jawne wystąpienie; nie może jawnie wymusić i pominąć wystąpienia składowej klasy szablonu |
Błąd kompilatora C2930 | "class": template-id/generic-id zdefiniowano ponownie jako moduł wyliczający "identyfikator wyliczenia" |
Błąd kompilatora C2931 | "class1": template-id/generic-id zdefiniowano ponownie jako funkcję składową klasy "class2" (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2932 | "type": template-id/generic-id zdefiniowano ponownie jako element członkowski danych "identifier" (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2933 | "type": template-id/generic-id zdefiniowano ponownie jako element członkowski definicji typu "identifier" (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2934 | "type": template-id/generic-id zdefiniowano ponownie jako zagnieżdżony element "identyfikator" (przestarzały w programie Visual Studio 2022). |
Błąd kompilatora C2935 | "type": template-id/generic-id zdefiniowano ponownie jako funkcję globalną (przestarzałą w programie Visual Studio 2022). |
Błąd kompilatora C2936 | "type": template-id/generic-id zdefiniowano ponownie jako globalną zmienną danych (przestarzałą w programie Visual Studio 2022). |
Błąd kompilatora C2937 | "type": template-id/generic-id zdefiniowano ponownie jako definicję typu globalnego (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2938 | "identifier" : Nie można specjalizować szablonu aliasu |
Błąd kompilatora C2939 | "type": template-id/generic-id zdefiniowano ponownie jako lokalną zmienną danych (przestarzałą w programie Visual Studio 2022). |
Błąd kompilatora C2940 | "type": template-id/generic-id zdefiniowano ponownie jako definicję lokalnego typu (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2941 | "type": template-id/generic-id zdefiniowano ponownie jako lokalny element (przestarzały w programie Visual Studio 2022). |
Błąd kompilatora C2942 | "type": template-id/generic-id zdefiniowano ponownie jako formalny argument funkcji (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2943 | "type": template-id/generic-id zdefiniowano ponownie jako argument typu szablonu (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2944 | "type": template-id/generic-id zdefiniowano ponownie jako argument wartości szablonu (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2945 | jawne tworzenie wystąpienia nie odnosi się do specjalizacji klasy szablonu |
Błąd kompilatora C2946 | jawne utworzenie wystąpienia; "typ" nie jest specjalizacją klasy szablonu |
Błąd kompilatora C2947 | oczekiwanie na> zakończenie argumentów szablonu "" znaleziono "token" |
Błąd kompilatora C2948 | jawne utworzenie wystąpienia; specyfikator klasy magazynu "specyfikator" nie jest dozwolony w przypadku specjalizacji |
Błąd kompilatora C2949 | thread_local nie jest obsługiwana w przypadku /kernel |
Błąd kompilatora C2950 | Nieaktualne. |
Błąd kompilatora C2951 | deklaracje szablonu/ogólnego są dozwolone tylko w zakresie globalnym, przestrzeni nazw lub klasy |
Błąd kompilatora C2952 | "deklaracja": brak szablonu/deklaracji ogólnej szablonu/listy parametrów ogólnych |
Błąd kompilatora C2953 | "type": szablon klasy został już zdefiniowany |
Błąd kompilatora C2954 | argument wyrazu instrukcji, który nie jest w zakresie |
Błąd kompilatora C2955 | "type": użycie szablonu klasy/generic wymaga szablonu/listy argumentów ogólnych |
Błąd kompilatora C2956 | Zwykła funkcja deallocation "function" zostałaby wybrana jako funkcja deallocation umieszczania |
Błąd kompilatora C2957 | "token": nieprawidłowy ogranicznik po lewej stronie: oczekiwano znaku "<" |
Błąd kompilatora C2958 | Lewy ogranicznik znaleziony w folderze "file(line_number)" nie został poprawnie dopasowany |
Błąd kompilatora C2959 | klasa ogólna lub funkcja nie może być członkiem szablonu |
Błąd kompilatora C2960 | Nieaktualne. |
Błąd kompilatora C2961 | "function": niespójne wystąpienia jawne, poprzednie jawne wystąpienie nie określiło "argumentu" |
Błąd kompilatora C2962 | błąd składni: "token": oczekiwana definicja funkcji składowej klasy szablonu do końca z elementem "}" |
Błąd kompilatora C2963 | Nieaktualne. |
Błąd kompilatora C2964 | Nieaktualne. |
Błąd kompilatora C2965 | __declspec (specyfikator) nie jest obsługiwany w przypadku /kernel |
Błąd kompilatora C2966 | "identifier1": musi mieć taki sam __declspec(code_seg(...)), jak w klasie bazowej "identifier2" (przestarzałe w programie Visual Studio 2022). |
Błąd kompilatora C2967 | "identifier": zastępowana funkcja wirtualna musi mieć taką samą __declspec(code_seg(...)) jak zastąpiona funkcja wirtualna (przestarzała w programie Visual Studio 2022). |
Błąd kompilatora C2968 | "identifier": rekursywna deklaracja aliasu |
Błąd kompilatora C2969 | błąd składni: "token": oczekiwana definicja funkcji składowej do końca z "}" |
Błąd kompilatora C2970 | "type": parametr szablonu "parameter": "argument": wyrażenie obejmujące obiekty z wewnętrznym połączeniem nie może być używane jako argument nietypowy |
Błąd kompilatora C2971 | "type": parametr szablonu "parameter": "argument": zmienna z niestacjonanym czasem trwania magazynu nie może być używana jako argument inny niż typ |
Błąd kompilatora C2972 | "type": parametr szablonu "parametr": typ argumentu innego niż typ jest nieprawidłowy |
Błąd kompilatora C2973 | "template": nieprawidłowy argument szablonu "number" |
Błąd kompilatora C2974 | "type": nieprawidłowy argument szablonu/ogólny dla parametru, oczekiwany typ |
Błąd kompilatora C2975 | "type": nieprawidłowy argument szablonu dla "parametru", oczekiwane wyrażenie stałej w czasie kompilacji |
Błąd kompilatora C2976 | "type": zbyt mało argumentów szablonu/argumentów ogólnych |
Błąd kompilatora C2977 | "type": zbyt wiele argumentów szablonu/ogólnych |
Błąd kompilatora C2978 | błąd składni: oczekiwano słowa kluczowego "keyword1" lub "keyword2"; znaleziony typ "type"; parametry inne niż typ nie są obsługiwane w rodzajach ogólnych |
Błąd kompilatora C2979 | jawne specjalizacje nie są obsługiwane w rodzajach ogólnych |
Błąd kompilatora C2980 | Obsługa wyjątków języka C++ nie jest obsługiwana w przypadku /kernel |
Błąd kompilatora C2981 | dynamiczna forma słowa kluczowego nie jest obsługiwana w przypadku /kernel |
Błąd kompilatora C2982 | "deklaracja": użyto różnych __declspec(code_seg(...)): to "identifier1" now "identifier2" |
Błąd kompilatora C2983 | "deklaracja": wszystkie deklaracje muszą mieć identyczne __declspec(code_seg(...)) |
Błąd kompilatora C2984 | Nieaktualne. |
Błąd kompilatora C2985 | "argument": argument do __declspec(code_seg(...)) musi być sekcją tekstową |
Błąd kompilatora C2986 | "identifier": __declspec(code_seg(...)) można stosować tylko do klasy lub funkcji |
Błąd kompilatora C2987 | deklaracja nie może mieć obu __declspec(code_seg('identifier')) i __declspec(code_seg('value')) |
Błąd kompilatora C2988 | nierozpoznawalna deklaracja/definicja szablonu |
Błąd kompilatora C2989 | "klasa": szablon klasy/rodzaj został już zadeklarowany jako szablon nieklasowy/ogólny |
Błąd kompilatora C2990 | "class": szablon nieklasowy/ogólny został już zadeklarowany jako szablon klasy/ogólny |
Błąd kompilatora C2991 | ponowne zdefiniowanie szablonu/parametru ogólnego "parametr" |
Błąd kompilatora C2992 | "klasa": nieprawidłowa lub brakująca lista parametrów szablonu/ogólnego parametru |
Błąd kompilatora C2993 | "type": niedozwolony typ parametru szablonu innego niż typ "identifier" |
Błąd kompilatora C2994 | nienazwana klasa na liście parametrów szablonu |
Błąd kompilatora C2995 | "deklaracja": szablon funkcji został już zdefiniowany |
Błąd kompilatora C2996 | "function": rekursywna definicja szablonu funkcji |
Błąd kompilatora C2997 | "function": nie można odwoływać ograniczenia tablicy z domyślnego inicjatora składowego |
Błąd kompilatora C2998 | "deklarator": nie może być definicją szablonu |
Zobacz też
Błędy i ostrzeżenia kompilatora C/C++ i narzędzi kompilacji
Błędy kompilatora C2000 — C3999, C7000 – C7999