Compilerwarnung (Ebene 1) C4293
"Operator" : Negatives oder zu großes, nicht definiertes Verhalten der Schicht
Wenn eine Schichtanzahl negativ oder zu groß ist, ist das Verhalten des resultierenden Bilds nicht definiert.
Hinweise
Um dieses Problem zu beheben, können Sie eine Umwandlung auf dem ersten Operanden verwenden, um es auf die Größe des Ergebnistyps zu erweitern.
Beispiel
Im folgenden Beispiel wird C4293 generiert, und es werden Möglichkeiten zum Beheben gezeigt:
// C4293.cpp
// compile with: /c /W1
unsigned __int64 combine (unsigned lo, unsigned hi)
{
return (hi << 32) | lo; // C4293
// In C, try the following line instead:
// return ( (unsigned __int64)hi << 32) | lo;
// In C++, try this line instead:
// return (static_cast<unsigned __int64>(hi) << 32) | lo;
}