Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 4) C4254

"podmiot gospodarczy": konwersja z "type1" na "type2" możliwej utracie danych

Większe pole bitowe został przypisany do mniejszych pole bitowe.Może to być utrata danych.

To ostrzeżenie jest domyślnie wyłączona.Zobacz Kompilator ostrzeżenia czy są wyłączone domyślnie uzyskać więcej informacji.

Poniższy przykład spowoduje wygenerowanie błędu 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
};