c – 我可以在不禁用“将警告视为错误”的情况下排除某些特定警告吗?

在我的Visual C代码中,我想要/ WX – “将警告视为错误”.这让我处理每个警告,包括 C4996

– “X被声明已弃用”,我不想解决 – 我现在不想更改代码而且我不想禁用C4996以便它仍然存在在输出中.理想情况下,我希望有类似的东西:

#pragma warning( ExcludeFromWX:4996)

因此,当使用/ WX时,除了这一个之外的所有警告都被视为错误,并且仅显示此警告并继续编译.

有可能得到这样的行为吗?

您可以使用以下编译指示重置指定的警告.我没有测试它,你没有提到尝试这个:

UPDATE

更改警告级别应该会成功

#pragma warning( 4 : 4996 )

这不起作用:

#pragma warning( default : 4996 )

翻译自:https://stackoverflow.com/questions/9566923/can-i-exclude-some-specific-warnings-from-treat-warnings-as-errors-without-dis