コンパイラの警告 (レベル 4) C4254
'演算子' : 'type1' から 'type2' への変換です。データが失われる可能性があります。
大きいビット フィールドが小さいビット フィールドに代入されました。 データが失われる可能性があります。
既定では、この警告はオフに設定されています。 詳細については、「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
};