コンパイラの警告 (レベル 1) C4806
'operation': 安全でない演算: 'type' 型から 'type' 型への上位変換を行うと与えられた定数に等しくなりません
このメッセージは、 b == 3
に b
型がある bool
などのコードに対して警告を行います。 上位変換の規則に従って、 bool
が int
に上位変換されます。 これは有効ですが、true
にすることはできません。 次の例では C4806 が生成されます。
// C4806.cpp
// compile with: /W1
int main()
{
bool b = true;
// try..
// int b = true;
if (b == 3) // C4806
{
b = false;
}
}