Aracılığıyla paylaş


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

'variable' : 'type' öğesinden 'type' öğesine işaretçi kesilmesi

Bu uyarı 64 bit işaretçi kesme sorunlarını algılar. Örneğin, kod 64 bit mimari için derlenmişse, işaretçi (64 bit) değeri bir int (32 bit) atanmışsa kesilir. Daha fazla bilgi için bkz . İşaretçileri Kullanma Kuralları.

C4311 uyarısının yaygın nedenleri hakkında ek bilgi için bkz . Yaygın Derleyici Hataları.

Aşağıdaki kod örneği, 64 bit hedef için derlendiğinde C4311 oluşturur ve bunun nasıl düzeltileceğini gösterir:

// C4311.cpp
// compile by using: cl /W1 C4311.cpp
int main() {
   void* p = &p;
   unsigned int i = (unsigned int) p;   // C4311 for 64-bit targets
   unsigned long long j = (unsigned long long) p;   // OK
}