2

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

在此代码上编译W4未能产生任何警告,而使用 gcc 我可以产生-Wmultichar-Wtype-limits

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

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

4

1 回答 1

2

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

#include <iostream>

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

警告 C4305:“正在初始化”:从截断'int''char'
警告 C4309:“正在初始化”:截断常量值

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

但是,对于您问题中的代码,即使使用/Wall.

于 2012-04-23T23:14:53.513 回答