Udostępnij za pośrednictwem


C4254 (poziom 4) ostrzeżenia kompilatora

"operator": konwersja z 'type1' na 'type2", możliwej utracie danych

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

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

Poniższy przykład generuje 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
};