Udostępnij za pośrednictwem


Domyślnie wyłączone ostrzeżenia kompilatora

Kompilator zawiera ostrzeżenia, które są domyślnie wyłączone, ponieważ większość użytkowników nie chce ich widzieć.Możesz jednak włączyć te ostrzeżenia przy użyciu jednej z następujących opcji.

  • #pragma warning(default : warning_number )
    Określone ostrzeżenie (warning_number) jest włączone na poziomie domyślnym.Dokumentacja dla ostrzeżenia zawiera domyślny poziom ostrzeżeń.

  • #pragma warning( warning_level : warning_number )
    Określone ostrzeżenie (warning_number) jest włączone na określonym poziomie (warning_level).

  • /Wall
    /Wall włącza wszystkie ostrzeżenia, które są domyślnie wyłączone.

Następujące ostrzeżenia są domyślnie wyłączone.

C4061 (poziom 4)

moduł wyliczający 'identyfikator' w przełączniku enum 'wyliczenie' nie jest jawnie obsługiwany przez etykietę case

C4062 (poziom 3)

moduł wyliczający 'identyfikator' w przełączniku enum 'wyliczenie' nie jest jawnie obsługiwany

C4191 (poziom 3)

'operator/operacja': niebezpieczna konwersja z 'typ wyrażenia' na 'typ wymagany'

C4242 (poziom 4)

'identyfikator': konwersja z 'typ1' na 'typ2', możliwa utrata danych

C4254 (poziom 4)

'operator': konwersja z 'typ1' na 'typ2', możliwa utrata danych

C4255 (poziom 4)

'funkcja': nie podano prototypu funkcji: konwertowanie '()' na '(void)'

C4263 (poziom 4)

'funkcja': funkcja elementu członkowskiego nie zastępuje żadnej funkcji wirtualnego elementu członkowskiego klasy podstawowej

C4264 (poziom 1)

'virtual_function': niedostępne zastąpienie dla funkcji wirtualnego elementu członkowskiego z klasy podstawowej 'class'; funkcja jest ukryta

C4265 (poziom 3)

'class': klasa ma funkcje wirtualne, ale destruktor nie jest wirtualny

C4266 (poziom 4)

'funkcja': niedostępne zastąpienie dla funkcji wirtualnego elementu członkowskiego z typu podstawowego 'type'; funkcja jest ukryta

C4287 (poziom 3)

'operator': niezgodność stałej bez znaku/ujemnej

C4289 (poziom 4)

użyte rozszerzenie niestandardowe: 'var' : zmienna sterowania pętlą zadeklarowana w pętli for jest używana poza zakresem pętli for

C4296 (poziom 4)

'operator': wyrażenie ma zawsze wartość false

C4302 (poziom 2)

'konwersja': obcinanie z 'typ1' do "typ2"

C4311 (poziom 1)

'zmienna' : obcinanie wskaźnika z 'typ do 'typ'

C4312 (poziom 1)

'operacja' : konwersja z 'typ1' na 'typ2' o większym rozmiarze

C4339 (poziom 4)

'typ' : użycie niezdefiniowanego typu wykryte w metadanych CLR — stosowanie tego typu może prowadzić do wyjątku czasu wykonywania

C4342 (poziom 1)

zmiana zachowania: wywołano funkcję 'funkcja', ale operator elementu członkowskiego wywołano w poprzednich wersjach

C4350 (poziom 1)

zmiana zachowania: wywołano element członkowski 'członek1' zamiast 'członek2'

C4355

'this': używany na liście inicjatora bazowego elementu członkowskiego

C4365 (poziom 4)

'działanie': konwersja z 'typ_1' na 'typ_2', niezgodność ze znakiem/bez znaku

C4370 (poziom 3)

układ klasy zmienił się z poprzedniej wersji kompilatora ze względu na lepsze pakowanie

C4371 (poziom 3)

układ klasy mógł się zmienić z poprzedniej wersji kompilatora ze względu na lepsze pakowanie elementu członkowskiego 'członek'

C4388 (poziom 4)

niezgodność ze znakiem/bez znaku

C4412 (poziom 2)

'funkcja': podpis funkcji podpis zawiera typ 'typ'; nie jest bezpieczne przekazywanie obiektów C++ między kodem czystym i mieszanym lub macierzystym

C4431 (poziom 4)

brak specyfikatora typu — zakładany int.Uwaga: C nie obsługuje już domyślnego int

C4435 (poziom 4)

'klasa1': Układ obiektu pod /vd2 zmieni się ze względu na wirtualną klasę podstawową 'klasa2'

C4437 (poziom 4)

dynamic_cast z podstawowej klasy wirtualnej 'klasa1' na 'klasa2' może nie działać w niektórych sytuacjach

C4444 (poziom 3)

'__unaligned' najwyższego poziomu nie jest zaimplementowany w tym kontekście

C4471 (poziom 4)

deklaracja zapowiadająca wyliczenia nieobjętego zakresem musi mieć podstawowy typ (zakładany jest int)

C4472 (poziom 1)

'identyfikator' to wyliczenie macierzyste: dodaj specyfikator dostępu (private/public), aby zadeklarować wyliczenie zarządzane

C4514 (poziom 4)

'funkcja': usunięto nieużywaną funkcję wbudowaną

C4536 (poziom 4)

'nazwa typu': nazwa typu przekracza limit metadanych znaków 'limit'

C4545 (poziom 1)

wyrażenie przed przecinkiem daje w wyniku funkcję, dla której brakuje listy argumentów

C4546 (poziom 1)

wywołanie funkcji przed przecinkiem, brak listy argumentów

C4547 (poziom 1)

'operator': operator przed przecinkiem nie przynosi efektu; oczekiwany operator, który przynosi efekt

C4548 (poziom 1)

wyrażenie przed przecinkiem nie przynosi efektu; oczekiwane wyrażenie, który przynosi efekt

C4549 (poziom 1)

'operator': operator przed przecinkiem nie przynosi efektu; czy 'operator' był zamierzony?

C4555 (poziom 1)

wyrażenie nie przynosi efektu; oczekiwane wyrażenie, który przynosi efekt

C4557 (poziom 3)

'__assume' zawiera efekt 'efekt'

C4571 (poziom 4)

informacyjne: semantyka catch(...) zmieniona w porównaniu z Visual C++ 7.1; wyjątki strukturalne (SEH) nie są już przechwytywane

C4574 (poziom 4)

'identyfikator' jest definiowany jako '0': czy chodziło o 'identyfikator #if'?

C4608 (poziom 3)

"symbol1" został już zainicjowany przez inny element członkowski unii na liście inicjatora, 'symbol2'

C4619 (poziom 3)

ostrzeżenie #pragma: nie ma numeru ostrzeżenia 'numer'

C4623 (poziom 4)

'klasa pochodna': nie można wygenerować konstruktora domyślnego, ponieważ domyślny konstruktor klasy podstawowej jest niedostępny

C4625 (poziom 4)

'klasa pochodna': nie można wygenerować konstruktora kopiowania, ponieważ konstruktor kopiowania klasy podstawowej jest niedostępny

C4626 (poziom 4)

'klasa pochodna': nie można wygenerować operatora przypisania, ponieważ operator przypisania klasy podstawowej jest niedostępny

C4628 (poziom 1)

dwuznaki nieobsługiwane z -Ze.Sekwencja znaków 'dwuznak' nie jest interpretowana jako alternatywny token dla 'char'

C4640 (poziom 3)

'instancja': konstrukcja lokalnego obiektu statycznego nie jest bezpieczna pod względem wątków

C4668 (poziom 4)

'symbol' nie jest zdefiniowany jako makro preprocesora, zastępowanie przez '0' dla 'dyrektywy'

C4682 (poziom 4)

'symbol': nie określono atrybutu kierunkowego parametru, ustawianie domyślnego [in]

C4686 (poziom 3)

'typ zdefiniowany przez użytkownika': możliwe zmiany w zachowaniu, zmiana w konwencji wywoływania zwrotu UDT

C4692 (poziom 1)

'funkcja': podpis z nieprywatnego elementu członkowskiego zawiera typ macierzysty 'native_type' zestawu prywatnego

C4710 (poziom 4)

'funkcja: funkcja niewbudowana

C4738 (poziom 3)

przechowywanie 32-bitowego wyniku zmiennopozycyjnego w pamięci, możliwa utrata wydajności

C4767 (poziom 4)

nazwa sekcji 'symbol' jest dłuższa niż 8 znaków i zostanie obcięta przez konsolidator

C4786 (poziom 3)

'symbol': nazwa obiektu została obcięta do 'liczba' znaków w informacjach debugowania

C4820 (poziom 4)

'bajty' dopełnienie bajtami dodane po konstrukcji 'member_name'

C4826 (poziom 2)

konwersja z 'typ1' na 'typ2' jest rozszerzona o znak.Może to spowodować nieoczekiwane zachowanie

C4837 (poziom 4)

wykryto trójznak: '??%c' zastąpione przez '%c'

C4905 (poziom 1)

literał ciągu dwubajtowego rzutowany na 'LPSTR'

C4906 (poziom 1)

literał ciągu rzutowany na 'LPWSTR'

C4917 (poziom 1)

'deklarator': identyfikator GUID może być skojarzony tylko z klasą, interfejsem lub przestrzenią nazw

C4928 (poziom 1)

nieprawidłowe inicjowanie kopiowania; niejawnie zastosowano więcej niż jedną konwersję zdefiniowaną przez użytkownika

C4931 (poziom 4)

zakładamy, że biblioteka typów została zbudowana dla wskaźników liczba-bit

C4946 (poziom 1)

reinterpret_cast używane między pokrewnymi klasami: 'klasa1' i 'klasa2'

C4962

'funkcja': optymalizacje profilowane wyłączone, ponieważ optymalizacje spowodowały niespójność danych profilu

C4986 (poziom 4)

'symbol': specyfikacja wyjątku jest niezgodna z poprzednią deklaracją

C4987 (poziom 4)

użyto rozszerzenia niestandardowego: 'throw (...)'

C4988 (poziom 4)

'symbol': zmienna zadeklarowana poza zakresem klasy/funkcji

Zobacz też

Informacje

ostrzeżenie