主要用到的警告表示有以下幾個:編程
once:只顯示一次(警告/錯誤等)消息
default:重置編譯器的警告行爲到默認狀態
1,2,3,4:四個警告級別
disable:禁止指定的警告信息
error:將指定的警告信息做爲錯誤報告spa
若是你們對上面的解釋不是很理解,能夠參考一下下面的例子及說明
#pragma warning( disable : 4507 34; once : 4385; error : 164 )
等價於:
#pragma warning(disable:4507 34) // 不顯示4507和34號警告信息
#pragma warning(once:4385) // 4385號警告信息僅報告一次
#pragma warning(error:164) // 把164號警告信息做爲一個錯誤。
同時這個pragma warning 也支持以下格式:
#pragma warning( push [ ,n ] )
#pragma warning( pop )
這裏n表明一個警告等級(1---4)。
#pragma warning( push )保存全部警告信息的現有的警告狀態。
#pragma warning( push, n)保存全部警告信息的現有的警告狀態,而且把全局警告
等級設定爲n。
#pragma warning( pop )向棧中彈出最後一個警告信息,在入棧和出棧之間所做的
一切改動取消。例如:
#pragma warning( push )
#pragma warning( disable : 4705 )
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
#pragma warning( pop )ci
在這段代碼的最後,從新保存全部的警告信息(包括4705,4706和4707)編譯器
在使用標準C++進行編程的時候常常會獲得不少的警告信息,而這些警告信息都是沒必要要的提示,
因此咱們可使用#pragma warning(disable:4786)來禁止該類型的警告編譯
在vc中使用ADO的時候也會獲得沒必要要的警告信息,這個時候咱們能夠經過
#pragma warning(disable:4146)來消除該類型的警告信息error