Partilhar via


Aviso do compilador (nível 1) C4311

'variável' : truncamento do ponteiro de 'tipo' para 'tipo'

Observações

Esta advertência deteta casos de truncamento de ponteiros de 64 bits. Por exemplo, se o código for compilado para uma arquitetura de 64 bits, o valor de um ponteiro (64 bits) será truncado se for atribuído a um int (32 bits). Para obter mais informações, consulte Regras para usar ponteiros.

Para obter informações adicionais sobre causas comuns de aviso C4311, consulte Erros comuns do compilador.

Example

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
}