Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"token" : signerad/osignerad matchningsfel
Anmärkningar
Att använda tokenoperatorn för att jämföra ett signed och ett större unsigned tal krävde att kompilatorn konverterade signed värdet till den större unsigned typen.
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 större unsigned typer.
Den här varningen är inaktiverad som standard. Du kan använda /Wall eller /w44388 aktivera den på kommandoraden som en varning på nivå 4. Eller använd #pragma warning(default:4388) i källfilen. Mer information finns i Kompilatorvarningar som är inaktiverade som standard.
Example
Det här exemplet genererar C4388 och visar hur du åtgärdar det:
// C4388.cpp
// compile with: cl /EHsc /W4 C4388.cpp
#pragma warning(default: 4388)
int main() {
unsigned long long uc = 0;
int c = 0;
unsigned long long c2 = c; // implicit conversion
if (uc < c) // C4388
uc = 0;
if (uc < (unsigned long long)(c)) // OK
uc = 0;
if (uc < c2) // Also OK
uc = 0;
}
Se även
Kompilatorvarning (nivå 3) C4018
Kompilatorvarning (nivå 4) C4389