Aviso do compilador (nível 1) C4311
'variable': truncamento de ponteiro de 'type' para 'type'
Esse aviso detecta problemas de truncamento de ponteiro de 64 bits. Por exemplo, se o código é compilado para uma arquitetura de 64 bits, o valor de um ponteiro (64 bits) será truncado se ela é atribuída a um int (32 bits). Para obter mais informações, consulte regras usando ponteiros.
Para obter informações adicionais sobre as causas comuns de aviso C4311, consulte erros comuns de compilador.
O exemplo de código a seguir gera C4311 quando compilado para um destino de 64 bits e, em seguida, demonstra como corrigi-lo:
// 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
}