次のコード例は、short
toの暗黙的なキャストchar
がレベル3で発生するのに対し、int
toの暗黙的なキャストchar
は警告レベル4でのみ発生することを示しています。
int main()
{
short as = 1;
int ai = 1;
char b1 = as; // warning C4244 (Level 3)
char b2 = ai; // warning C4244 (Level 4)
return 0;
}
これの理由は何ですか–ドキュメントは理由を省略していますか?
変数のタイプを変更し、この警告を使用して変換の問題の可能性を特定した後、この問題が発生しました。警告を見逃し、レベル4に切り替える必要があることを認識しました。