Sdílet prostřednictvím


warning

Umožňuje selektivní modifikace chování upozornění kompilátoru.

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

Poznámky

Jsou dostupné následující parametry specifikátor upozornění.

Specifikátor upozornění

Význam

1, 2, 3, 4

Použít zadané upozornění na dané úrovni.Bude také na zadané upozornění, že je ve výchozím nastavení vypnuto.

default

Upozornění chování obnovte na výchozí hodnotu.Bude také na zadané upozornění, že je ve výchozím nastavení vypnuto.Upozornění bude generován výchozí, popsána úroveň.

Další informace naleznete v tématu Upozornění kompilátoru, která jsou ve výchozím nastavení vypnuté.

disable

Zadané upozornění zprávy nesmí vydat.

error

Zprávu zadané upozornění jako chyby.

once

Zobrazte zprávy určené pouze jednou.

suppress

Aktuální stav pragma tlačí v zásobníku, zakáže upozornění určené pro další řádek a body POP zásobníku upozornění tak, aby je obnovit stav pragma.

Následující výpis kódu ukazuje, že warning-number-list parametr může obsahovat více čísel upozornění a že více warning-specifier lze zadat parametry v téže směrnice pragma.

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

To je funkčně ekvivalentní následující kód.

// 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 )

Kompilátor přidá 4000 jakékoli upozornění číslo mezi 0 a 999.

Pro upozornění čísla v rozsahu 4700-4999, které jsou spojené s generování kódu, bude stav upozornění platí v případě, že kompilátor nalezne Otevřít složenou závorkou funkce platná pro ostatní funkce.Použití warning pragma funkce, změna stavu upozornění, že má číslo větší než 4699 se se projeví po ukončení funkce.Následující příklad zobrazuje správné umístění warning pragmas zakázat generování kódu upozornění a poté jej obnovit.

// 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
}

Všimněte si, že v celém funkci subjektu poslední warning pragma bude platná pro celé funkce.

Push a Pop

warning Pragma také podporuje následující syntaxi.

#pragma warning( push [ ,n ] )

#pragma warning( pop )

Kde n představuje úroveň pro upozornění (1 až 4).

Pragma warning( push ) ukládá aktuální stav varování pro každé varování.Pragma warning( push, n) ukládá aktuální stav pro každé varování a nastaví globální úroveň pro upozornění na n.

Pragma warning( pop ) POP poslední stav upozornění posune do zásobníku.Všechny změny provedené ve stavu upozornění mezi push a pop se vrátit zpět.Vezměme si jako příklad:

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

Na konci tohoto kódu pop obnoví stav každé varování (zahrnuje 4705, 4706 a 4707), který byl při spuštění kódu.

Při zápisu hlavičky souborů můžete použít push a pop zaručit, že změny stavu upozornění uživatel nebrání záhlaví sestavování správně.Použití push na začátku záhlaví a pop na konci.Například pokud je záhlaví, který není čistě kompilace na úrovni upozornění 4, následující kód by změnit úroveň pro upozornění na 3 a pak obnovit původní úroveň pro upozornění na konec záhlaví.

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

Další informace o možnosti, které vám pomohou potlačit kompilátoru upozornění, viz /FI a /w.

Viz také

Referenční dokumentace

Pragma směrnic a __Pragma klíčové slovo