Compilerwarnung (Ebene 4) C4254

'operator': Konvertierung von 'type1':'field_bits' in 'type2':'field_bits', mögliche Datenverluste

Einem kleineren Bitfeld wurde ein größeres Bitfeld zugewiesen. Es könnte einen Datenverlust geben.

Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Compiler Warnings That Are Off by Default.

Das folgende Beispiel generiert C4254:

// 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
};