Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
"equality-operator" : signerad/osignerad missmatch
Anmärkningar
En ==- eller !=-operation som involverade signed- och unsigned-variabler. Detta kan leda till dataförlust.
Ett sätt att åtgärda den här varningen är om du kastar en av de två typerna när du jämför signed och unsigned typer.
Example
I följande exempel genereras C4389:
// C4389.cpp
// compile with: cl /EHsc /W4 C4389.cpp
int main()
{
int a = 9;
unsigned int b = 10;
int result = 0;
if (a == b) // C4389
result = 1;
else
result = 2;
if (unsigned(a) == b) // OK
result = 3;
else
result = 4;
return result;
}