Share via


Upozornění kompilátoru (úroveň 1) C4311

'variable': zkrácení ukazatele z 'type' na 'type'

Toto upozornění detekuje 64bitové problémy se zkrácením ukazatele. Pokud je například kód zkompilován pro 64bitovou architekturu, zkrátí se hodnota ukazatele (64 bitů), pokud je přiřazená int (32 bitů). Další informace naleznete v tématu Pravidla pro použití ukazatelů.

Další informace o běžných příčinách upozornění C4311 naleznete v tématu Běžné chyby kompilátoru.

Následující příklad kódu generuje C4311 při kompilaci pro 64bitový cíl a pak ukazuje, jak jej opravit:

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