Megosztás a következőn keresztül:


system_header pragma

Kezelje a fájl többi részét külsőként a diagnosztikai jelentésekhez.

Szintaxis

#pragma system_header

Megjegyzések

A system_headerpragma arra utasítja a fordítót, hogy az aktuális forrásfájl többi részének /external:Wn beállításában megadott szinten mutassa a diagnosztikát. További információ a külső fájlok és a fordító külső figyelmeztetési szintjének megadásáról: /external.

A system_headerpragma az aktuális forrásfájl végéig nem alkalmazható. Más szóval ez nem vonatkozik azokra a fájlokra, amelyek tartalmazzák ezt a fájlt. A system_headerpragma akkor is érvényes, ha a fordítón kívül más fájlok nincsenek megadva. Ha azonban nincs megadva /external:Wn beállítási szint, a fordító diagnosztikát állíthat ki, és ugyanazt a figyelmeztetési szintet használja, nem külső fájlokra vonatkozik. A figyelmeztetési viselkedést befolyásoló egyéb pragma irányelvek a system_headerpragmaután is érvényesek. A #pragma system_header hatása hasonló a warning pragma:

// If n represents the warning level specified by /external:Wn,
// #pragma system_header is roughly equivalent to:
#pragma warning( push, n )

// . . .

// At the end of the file:
#pragma warning( pop )

A system_headerpragma a Visual Studio 2019 16.10-es verziójától kezdve érhető el.

Példa

Ez a mintafejléc bemutatja, hogyan jelölheti meg a fájl tartalmát külsőként:

// library.h
// Use /external:Wn to set the compiler diagnostics level for this file's contents

#pragma once
#ifndef _LIBRARY_H // include guard for 3rd party interop
#define _LIBRARY_H
#pragma system_header
// The compiler applies the /external:Wn diagnostic level from here to the end of this file.

// . . .

// You can still override the external diagnostic level for warnings locally:
#pragma warning( push )
#pragma warning( error : 4164 )

// . . .

#pragma warning(pop)

// . . .

#endif

Lásd még:

/external
warning pragma
/Wn (Fordító figyelmeztetési szintje)
Pragma irányelvei, valamint a __pragma és _Pragma kulcsszavak