在MSVC中使用多字符常量时是否可以发出警告? (类似于gcc中的-Wmultichar
)。或者,如果有任何替代解决方案可帮助查找以下代码,请告知我们。
使用此代码W4
进行编译时,无法生成任何警告,而使用gcc我可以生成-Wmultichar
和-Wtype-limits
:
int main()
{
std::string s = "hello";
if (s[0] == 'he') {}
}
(我知道Wall
但是产生了很多警告,我没有打扰它。)
答案 0 :(得分:2)
仅在有限的上下文中 - 对于以下代码,有两个警告:
#include <iostream>
int main()
{
char x = 'he';
std::cout << x << '\n';
}
警告C4305:'初始化':从
'int'
截断到'char'
警告C4309:'初始化':截断常数值
可以单独启用这些警告,而无需启用/W4
或/Wall
。
但是,对于您问题中的代码,即使使用/Wall
,也没有适用的警告。