#pragma warning(默认值:全部)

时间:2013-01-10 12:59:56

标签: visual-c++ compiler-warnings pragma

有没有一种简单的方法可以实现这一目标?

#pragma warning(default: all)

这是无效的;我可以提供一个特定的警告编号,而不是all,这会将该警告恢复为默认值,但我想将所有警告恢复为默认值。我不想写出所有警告的长列表!

我的目标是确保我的代码干净利落地编译,并且我不会在我自己的代码中隐藏任何可能已被禁用的警告。

假设这是一个巨大的代码库,其他程序员已经在我包含但不控制的标题(包括预编译头文件)中禁用了警告,并且在项目设置中或通过命令行。

1 个答案:

答案 0 :(得分:1)

http://msdn.microsoft.com/en-us/library/2c8f766e(v=vs.110).aspx

我担心你可能已经看过上面的参考了。但是,我的建议是使用警告实用程序的推/弹功能:

#pragma warning(push) // The very beginning of your code
#include <...>
#pragma warning(pop)

// Your code
...

Push允许您保存当时的每个警告状态,并弹出恢复到原始状态。