Udostępnij za pośrednictwem


warning

Umożliwia selektywne modyfikacji zachowanie komunikatów ostrzeżeń kompilatora.

#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list...] )
#pragma warning( push[ ,n ] )
#pragma warning( pop )

Uwagi

Dostępne są następujące parametry specyfikatora ostrzeżenie.

Specyfikator ostrzeżenie

Znaczenie

1, 2, 3, 4

Zastosowanie danego poziomu do określonego co najmniej jednym ostrzeżeniem.Włącza to również określony ostrzeżenie, że jest domyślnie wyłączona.

default

Zresetować ostrzeżenie zachowanie na wartość domyślną.Włącza to również określony ostrzeżenie, że jest domyślnie wyłączona.Ostrzeżenie zostanie wygenerowany na domyolny, udokumentowane, poziom.

Aby uzyskać więcej informacji, zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone.

disable

Nie wydają określonej wiadomości ostrzeżenie.

error

Raport określonego ostrzeżenia jako błędy.

once

Wyświetlanie wiadomości określony tylko jeden raz.

suppress

Umieszcza bieżący stan pragma na stosie, wyłącza określonego ostrzeżenie w następnym wierszu i tak, aby Państwo pragma jest resetowany punkty POP stosu ostrzeżenie.

Poniższa instrukcja kod pokazuje, że warning-number-list parametr może zawierać wiele numerów ostrzeżenie i wiele warning-specifier parametry mogą być określone w tej samej dyrektywy pragma.

#pragma warning( disable : 4507 34; once : 4385; error : 164 )

To jest funkcjonalnie równoważne następujący kod.

// Disable warning messages 4507 and 4034.
#pragma warning( disable : 4507 34 )

// Issue warning 4385 only once.
#pragma warning( once : 4385 )

// Report warning 4164 as an error.
#pragma warning( error : 164 )

Kompilator doda 4000 dowolną liczbę ostrzeżenie jest pomiędzy 0 i 999.

Ostrzeżenie liczb w zakresie 4700-4999, które są skojarzone z generowania kodu, Państwo ostrzeżenie obowiązujące w przypadku, gdy kompilator napotka otwarty nawias klamrowy funkcji będzie obowiązywać dla pozostałej części funkcji.Za pomocą warning pragmy w funkcji, aby zmienić stan ostrzeżenie, że została podana liczba większa od 4699 zostaną wprowadzone dopiero po zakończeniu funkcji.W poniższym przykładzie pokazano, poprawne położenie warning pragmas, aby wyłączyć komunikat ostrzegawczy generowania kodu, a następnie przywrócić go.

// pragma_warning.cpp
// compile with: /W1
#pragma warning(disable:4700)
void Test() {
   int x;
   int y = x;   // no C4700 here
   #pragma warning(default:4700)   // C4700 enabled after Test ends
}

int main() {
   int x;
   int y = x;   // C4700
}

Należy zauważyć, że organ ostatnie ustawienia z całej funkcji warning pragma będzie obowiązywać dla całej funkcji.

Pop i wypychania

warning Pragma obsługuje także następującej składni.

#pragma warning( push [ ,n ] )

#pragma warning( pop )

Gdy n reprezentuje poziom ostrzeżeń (od 1 do 4).

Pragma warning( push ) zapisuje bieżący stan ostrzeżenia dla każdego ostrzeżenia.Pragma warning( push, n) przechowuje bieżącego stanu dla każdego ostrzeżenia i ustawia globalny poziom ostrzeżeń na n.

Pragma warning( pop ) ostatnie Państwo ostrzeżenie wkładany na stos punktów obecności.Wszelkie zmiany dokonane w stanie ostrzeżenia, między push i pop zostaną cofnięte.Rozważmy następujący przykład:

#pragma warning( push )
#pragma warning( disable : 4705 )
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
// Some code
#pragma warning( pop ) 

Na końcu niniejszego Kodeksu pop przywraca stan każdego ostrzeżenia (obejmuje 4705, 4706 i 4707), aby był na początku kodu.

Podczas pisania plików nagłówkowych można użyć push i pop do zagwarantowania, że Państwo ostrzeżenie zmiany wprowadzone przez użytkownika uniemożliwia nagłówki kompilowanie poprawnie.Użyj push na początku nagłówek i pop na końcu.Na przykład jeśli nagłówek, który nie skompilować czysto na poziomie ostrzeżeń 4 następujący kod będzie zmienić poziom ostrzeżeń na 3, a następnie Przywróć oryginalne poziom ostrzeżeń na końcu nagłówka.

#pragma warning( push, 3 )
// Declarations/definitions
#pragma warning( pop ) 

Aby uzyskać więcej informacji o kompilator, opcje, które pomagają pomija ostrzeżenia, zobacz /FI i /w.

Zobacz też

Informacje

Dyrektywy pragma i __Pragma słowa kluczowego