2

MSVCで複数文字の定数が使用されている場合に警告を出すことはできますか?-Wmultichar( gccに似たもの)。または、次のようなコードを見つけるのに役立つ代替ソリューションがある場合は、お知らせください。

W4このコードでコンパイルすると警告が生成されませんでしたが-Wmultichar、 gccでは生成できました-Wtype-limits

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

(私は知ってWallいますが、それは私が気にしなかった非常に多くの警告を生成します。)

4

1 に答える 1

2

限られた状況でのみ–次のコードでは、2つの警告があります。

#include <iostream>

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

警告C4305:'初期化中':から警告への切り捨て'int'C4309 'char'
:'初期化中':定数値の切り捨て

/W4これらの警告は、またはを有効にせずに個別に有効にすることができます/Wall

ただし、質問のコードについては、。を使用しても、該当する警告はありません/Wall

于 2012-04-23T23:14:53.513 に答える