warning
Derleyici uyarı iletilerini davranışını seçmeli değiştirilmesini sağlar.
#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list...] )
#pragma warning( push[ ,n ] )
#pragma warning( pop )
Notlar
Aşağıdaki uyarı belirleyici parametreler kullanılabilir.
Uyarı belirleyici |
Anlam |
---|---|
1, 2, 3, 4 |
Belirtilen düzeyi belirtilen warning(s) için geçerlidir. Bu aynı zamanda varsayılan olarak kapalıdır belirtilen bir uyarı açar. |
default |
Uyarı davranışı varsayılan değerine sıfırlamak. Bu aynı zamanda varsayılan olarak kapalıdır belirtilen bir uyarı açar. Uyarı oluşturulan varsayılan değerinde, düzeyi belgelenmiştir. Daha fazla bilgi için bkz. Varsayılan olarak kapalıdır derleyici uyarısı. |
disable |
Belirtilen uyarı iletileri sorun değil. |
error |
Belirtilen uyarıları hata olarak bildir. |
once |
Belirtilen iletiler yalnızca bir kez görüntüler. |
suppress |
Pragma geçerli durumunu yığına koyan, sonraki satırı için belirtilen uyarı devre dışı bırakır ve böylece pragma durumunu sıfırlayın sonra uyarı yığın POP. |
Aşağıdaki kod ifadesi, göstermektedir bir warning-number-list birden çok uyarı numarası ve bu birden çok parametre içerebilir warning-specifier parametreleri aynı pragma yönergesi belirtilebilir.
#pragma warning( disable : 4507 34; once : 4385; error : 164 )
Aşağıdaki kodu desteklerken budur.
// 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 )
Derleyici 4000 0 ile 999 arasında herhangi bir uyarı numarası ekler.
Kod oluşturma ile ilişkilendirilmiş olan 4700-4999 aralığındaki uyarı numaraları için etkili derleyici fonksiyonun açık kaşlı ayraç karşılaştığında bir uyarı durumunu işlevi geri kalanı için etkili olacaktır. Kullanarak warning pragma işlevinde 4699 daha büyük bir sayı olan bir uyarı durumunu değiştirmek için yalnızca değişiklikler sistem işlevi sonunda. Aşağıdaki örnek, doğru yerleşimini gösterir warning kod oluşturma uyarı iletisini devre dışı bırakmak için formunda bilgi ve sonra da geri yüklemek için.
// 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
}
Bir işlev boyunca gövde, son ayarına dikkat edin warning pragma etkili tüm işlev için gereken.
Push ve Pop
warning Pragma ayrıca aşağıdaki sözdizimini destekler.
#pragma warning( push [ ,n ] )
#pragma warning( pop )
Burada n bir uyarı düzeyi (1-4) temsil eder.
Pragma warning( push ) her uyarı için geçerli uyarı durumunu saklar. Pragma warning( push, n) her uyarı geçerli durumunu saklar ve genel uyarı düzeyini ayarlar n.
Pragma warning( pop ) son uyarı durumu bu da yığına itilmiş POP. Uyarı durumu arasında yapılan herhangi bir değişiklik push ve pop alınır. Bu örneði ele alalým:
#pragma warning( push )
#pragma warning( disable : 4705 )
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
// Some code
#pragma warning( pop )
Bu kod, sonunda pop her uyarı durumunu geri yükler (4705, 4706 ve 4707 içerir) kod başlangıcında olduğu için.
Üstbilgi dosyaları yazarken kullanabileceğiniz push ve pop uyarı durumu bir kullanıcının yaptığı değişiklikler üstbilgileri doğru derleme engel olmayın, güvence altına almak için. Use push üstbilgisinin başındaki ve pop sonunda. Örneğin, uyarı düzeyinde 4 derlenir değil bir başlık varsa, aşağıdaki kod 3 uyarı düzeyini değiştirmek ve başlığının sonundan özgün uyarı düzeyinde geri yükleme.
#pragma warning( push, 3 )
// Declarations/definitions
#pragma warning( pop )
Derleyici yardımcı olan seçenekler engelleme hakkında daha fazla bilgi için bkz: uyarılar, /FI ve /w.