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