Aracılığıyla paylaş


Derleyici Uyarısı (düzey 1) C4293

'operator' : shift count negatif veya çok büyük, tanımsız davranış

Vardiya sayısı negatif veya çok büyükse, sonuçta elde edilen görüntünün davranışı tanımsız olur.

Açıklamalar

Bu sorunu çözmek için ilk işlenende bir atama kullanarak sonuç türünün boyutuna genişletebilirsiniz.

Örnek

Aşağıdaki örnek C4293 oluşturur ve düzeltmenin yollarını gösterir:

// 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;
}