Share via


コンパイラの警告 (レベル 4) C4254

'operator': 'type1':'field_bits' から 'type2':'field_bits' への変換。データ損失の可能性があります

より大きなビット フィールドが、より小さいビット フィールドに割り当て済みでした。 データが失われる可能性があります。

既定では、この警告はオフに設定されています。 詳細については、「 Compiler Warnings That Are Off by Default」を参照してください。

次の例では 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
};