1

有没有简单的方法来实现这一点?

#pragma warning(default: all)

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

我的目标是确保我的代码能够干净地编译,并且我不会意外地在我自己的代码中隐藏任何可能在其他地方被禁用的警告。

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

4

1 回答 1

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 可以让你保存当时的每一个警告状态,并且 pop 恢复到原始状态。

于 2013-01-10T18:29:33.983 回答