Freigeben über


Compilerwarnung (Stufe 4) C4254

'Operator': Umwandlung von 'Typ1' in 'Typ2', Datenverlust ist möglich

Ein größeres Bitfeld wurde einem kleineren Bitfeld zugewiesen. Möglicherweise ist ein Datenverlust aufgetreten.

Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Standardmäßig deaktivierte Compilerwarnungen.

Im folgenden Beispiel wird C4254 generiert:

// C4254.cpp
// compile with: /W4
#pragma warning(default: 4254)

struct X {
   int a : 20;
   int b : 12;
};

int main() {
   X *x = new X();
   x->b = 10;
   x->a = 4;
   x->a = x->b;    // OK
   x->b = x->a;    // C4254
};