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

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

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

使用 W4 对此代码进行编译未能产生任何警告,而使用 gcc 则可以生成 -Wmultichar-Wtype-limits:

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

(我知道 Wall 但它会产生很多警告,我没有理会它。)

最佳答案

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

#include <iostream>

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

warning C4305: 'initializing' : truncation from 'int' to 'char'
warning C4309: 'initializing' : truncation of constant value

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

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

关于c++ - MSVC 在 gcc 中提供类似 -Wmultichar 的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10289401/

相关文章:

c++ - 你如何枚举 C++ AMP 中的所有加速器?

c++ - (GTK :4783): Gtk-CRITICAL **: gtk_image_set_from_pixbuf: assertion 'GTK_IS_IMAGE (image)' failed

c++ - 图的两条边之间的角度

objective-c - 如何找到无意的对象指针比较?

c++ - DXGI 桌面复制屏幕捕获速度

c++ - __builtin_unreachable 促进了哪些优化?

C++ 解析命令行

visual-c++ - 根据列值在 2D 伸量表中查找单元格

编译器不显示显式转换的警告消息

c - 处理警告: implicit declaration of function ‘sigignore’