Condividi tramite


Avviso del compilatore (livello 4) C4254

'operatore': conversione da 'tipo1' a 'tipo2'. Possibile perdita di dati

Poiché un campo di bit più grande è stato assegnato a un campo di bit più piccolo, è possibile che si verifichi una perdita di dati.

Per impostazione predefinita, questo avviso non è attivo. Per ulteriori informazioni, vedere Avvisi del compilatore disattivati per impostazione predefinita.

Nell'esempio seguente viene generato l'errore 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
};