編譯器警告 (層級 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;
}
}