Delen via


Compilerwaarschuwing (niveau 1) C4319

'~' : nul uitbreiding 'type1' naar 'type2' van grotere grootte

Opmerkingen

Het resultaat van de ~-operator, ook bekend als de bitwise complement, is ongetekend en wordt vervolgens uitgebreid met nullen wanneer het wordt geconverteerd naar een groter type.

Example

In het volgende voorbeeld ~(a - 1) wordt geƫvalueerd als een 32-bits niet-ondertekende lange expressie en vervolgens geconverteerd naar 64 bits met de extensie nul. Dit kan leiden tot onverwachte bewerkingsresultaten.

// C4319.cpp
// compile with: cl /W4 C4319.cpp
int main() {
   unsigned long a = 0;
   unsigned long long q = 42;
   q = q & ~(a - 1);    // C4319 expected
}