我在项目中收到以下警告:
warning C4927: illegal conversion; more than one user-defined conversion has been implicitly applied while calling the constructor 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string(const _Elem *)'
with
[
_Elem=char
]
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xstring(778) : see declaration of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string'
我明白为什么会发生这种情况,我无法抑制它。我已尝试将其添加到项目设置中的“禁用特定警告”列表中,并且我还将警告级别设置为“关闭所有警告”(/ W0),但警告仍然存在。有没有人有关于如何隐藏消息的任何建议?
答案 0 :(得分:0)
您可以使用#pragma warning
(https://msdn.microsoft.com/en-us/library/2c8f766e.aspx)直接在代码中控制Visual Studio警告。如果您想使单行警告静音,可以将以下内容放在行前面:
#pragma warning (suppress: 4927)
line-that-causes-warning-4927
您也可以使用“禁用”代替“抑制”,从#pragma
之后的任何位置禁用它。但是,正如评论所示,实际修复警告更好,因为它可能会导致程序出现问题。