Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
"operátor": a 32 bites eltolás eredménye implicit módon 64 bitre konvertálódott (64 bites eltolás volt a cél?)
Megjegyzések
A 32 bites eltolás eredménye 64 bitesre lett konvertálva, és a fordító azt gyanítja, hogy 64 bites eltolást szántak. Ezt a figyelmeztetést 64 bites eltolással oldhatja meg. Ha az eltolás eredménye 32 bites, és ez szándékos, akkor azt 32 bitesre kell továbbítani, hogy egyértelmű legyen a fordító számára.
Example
Az alábbi példa C4334-et hoz létre.
// C4334.cpp
// compile with: /W3 /c
void SetBit(unsigned __int64 *p, int i) {
*p |= (1 << i); // C4334, 32-bit shift cast to 64-bit
*p |= (1i64 << i); // OK, 64-bit shift
*p |= static_cast<int>(1 << i); // OK, 32-bit shift saved to 64-bit result
*p |= static_cast<__int64>(1) << i; // OK, 64-bit shift
}