1. #pragma warning(disable: 4507 34; once: 4385; error: 164)
等价于
// 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 )
2. 编译器自动给介于 0 到 999 间的 warning number 加 4000 .
3. 一个 compiland 最多支持 56 条 #pragma warning 语句.
4. 在函数体内使用 #pragma warning 语句, 如果 warning number 大于 4699 , 该语句在函数结束后起作用. 也就是说, 函数体内的该 #pragma warning 语句与将其放在函数结束后效果是一样的. 如:
1. #pragma warning(disable: 4700)
2. void Test()
3. {
4. int x;
5. int y = x; // no C4700 here
6. #pragma warning(default: 4700) // C4700 enabled after Test ends
7. }
8.
9. int main()
10. {
11. int x;
12. int y = x; // C4700
13. }
第 6 行放在 Test() 函数体内任一行, 与放在 Test() 函数后半大括号后 main() 函数前效果是一样的: 仅对 main() 函数中 int y = x; 起作用.