Mfc 我可以抑制特定的C6031警告吗?CString::LoadString

Mfc 我可以抑制特定的C6031警告吗?CString::LoadString,mfc,code-analysis,visual-studio-2017,Mfc,Code Analysis,Visual Studio 2017,我读过这篇文章,因此对警告的含义有了基本的了解 当我在MFC项目上运行代码分析时,我收到了一系列警告: d:\my programs\2017\meetschedassist\meeting schedule assistant\synchexclusionsdlg.cpp(295): warning C6031: Return value ignored: 'ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<

我读过这篇文章,因此对警告的含义有了基本的了解

当我在MFC项目上运行代码分析时,我收到了一系列警告:

d:\my programs\2017\meetschedassist\meeting schedule assistant\synchexclusionsdlg.cpp(295): warning C6031: Return value ignored: 'ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW'.
d:\my programs\2017\meetschedassist\meeting schedule assistant\synchexclusionsdlg.cpp(297): warning C6031: Return value ignored: 'ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW'.
我已经阅读了帮助文档,讽刺的是,他们的示例是这样做的:

CAtlString s;
s.LoadString(IDS_APP_TITLE);   
它们也不测试返回值。:)

现在,我意识到我可以尝试修复代码并测试返回值——这将花费我很长时间!我意识到我可以下意识地忽略这些警告

但是,在分析过程中是否有可能禁止此特定警告(关于C6031
CString::LoadString


更新 我已尝试将此添加到我的
stdafx.h
(基于评论):


这当然有效。但是我希望只为
CString::LoadString
消除6031个错误。您的代码忽略函数的返回值,该函数返回
BOOL
。警告是正确的。您可以关闭该警告,但这样做(正如您所发现的)会完全关闭编译单元的警告

您可以使用关闭单个警告调用的警告


但我认为明智的做法是编写一个加载字符串的包装器函数。该包装器检查函数的返回值,如果函数因为找不到字符串而返回FALSE,则会做出适当的反应。您认为合适的方法完全取决于您:可能记录错误,可能弹出消息框,可能使用默认字符串。

使用
#pragma warning
@保罗鲁尼,谢谢,但在这种情况下,我该如何利用这一点来特别压制这一警告呢?那么,我如何在整个解决方案中应用这一点呢?@PaulRooney,谢谢。只是查了一下。但是
/w
本身将禁止所有警告,这不是我想要的。您已链接到Windows API调用,但您的代码使用。这是故意的吗?您已链接到Visual Studio 6的
CString::LoadString
实现,但您使用的是Visual Studio 2017 RC。您正在使用的实现是(大概是)。考虑一下,可以用VERIFY来包装调用。见:
CAtlString s;
s.LoadString(IDS_APP_TITLE);   
#pragma warning( disable : 6031)