MSVC在gcc中提供类似-Wmultichar的东西吗?

时间:2012-04-23 22:55:16

标签: c++ visual-c++ compiler-warnings

在MSVC中使用多字符常量时是否可以发出警告? (类似于gcc中的-Wmultichar)。或者,如果有任何替代解决方案可帮助查找以下代码,请告知我们。

使用此代码W4进行编译时,无法生成任何警告,而使用gcc我可以生成-Wmultichar-Wtype-limits

int main()
{
    std::string s = "hello";
    if (s[0] == 'he') {}
}

(我知道Wall但是产生了很多警告,我没有打扰它。)

1 个答案:

答案 0 :(得分:2)

仅在有限的上下文中 - 对于以下代码,有两个警告:

#include <iostream>

int main()
{
    char x = 'he';
    std::cout << x << '\n';
}
  

警告C4305:'初始化':从'int'截断到'char'
  警告C4309:'初始化':截断常数值

可以单独启用这些警告,而无需启用/W4/Wall

但是,对于您问题中的代码,即使使用/Wall,也没有适用的警告。