Partager via


Avertissement du compilateur (niveau 1) C4311

'variable' : troncation de pointeur de 'type' à 'type'

Cet avertissement détecte les problèmes de troncation de pointeur 64 bits. Par exemple, si le code est compilé pour une architecture 64 bits, la valeur d'un pointeur (64 bits) est tronquée si elle est affectée à un int (32 bits). Pour plus d’informations, consultez Règles d’utilisation des pointeurs.

Pour plus d’informations sur les causes courantes de l’avertissement C4311, consultez Erreurs courantes du compilateur.

L'exemple de code suivant génère l'avertissement C4311 quand il est compilé pour une cible 64 bits, puis indique comment le corriger :

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