Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1) C4311

'zmienna' : obcinanie wskaźnika z 'typ do 'typ'

To ostrzeżenie wykryje problemy obcięcie wskaźnik 64-bitowych.Na przykład, jeśli kod jest skompilowany dla Architektura 64-bitowa, wartość wskaźnik (64 bity) zostaje obcięty, jeśli jest przypisana do int (32-bity).Aby uzyskać więcej informacji, zobacz zasady za pomocą wskaźników.

Aby uzyskać dodatkowe informacje na temat typowe przyczyny ostrzeżenie C4311, zobacz typowych błędów kompilatora.

Poniższy przykładowy kod generuje C4311 podczas skompilowanego dla obiektu docelowego 64-bitowych i pokazuje, jak go rozwiązać:

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