Sdílet prostřednictvím


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

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

Toto upozornění zjišťuje 64-bit ukazatel zkrácení problémy.Například, pokud kód je zkompilován pro 64bitová architektura, hodnotou ukazatele (64 bitů) budou zkráceny když je přiřazena int (32 bitů).Další informace naleznete v tématu pravidla pro použití ukazatele.

Další informace o běžných příčin 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 potom ukazuje, jak 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
}