コンパイラの警告 (レベル 3) C4334
'operator' : 32 ビット シフトの結果が暗黙的に 64 ビットに変換されました (64 ビット シフトに意図的に変換しようとしましたか?)
32 ビット シフトの結果が暗黙的に 64 ビットに変換され、コンパイラは 64 ビット シフトが意図されたと推測します。 この警告を解決するには、64 ビット シフトを使用するか、シフト結果を 64 ビットに明示的にキャストします。
例
次の例では C4334 警告が生成されます。
// C4334.cpp
// compile with: /W3 /c
void SetBit(unsigned __int64 *p, int i) {
*p |= (1 << i); // C4334
*p |= (1i64 << i); // OK
}