Dela via


Kompilatorvarning (nivå 1) C4311

"variabel" : pekarens trunkering från "typ" till "typ"

Anmärkningar

Den här varningen identifierar problem med 64-bitars pekartrunkering. Om koden till exempel kompileras för en 64-bitar arkitektur, förkortas värdet för en pekare (64 bitar) om den tilldelas till en int (32-bitar). Mer information finns i Regler för att använda pekare.

Mer information om vanliga orsaker till varning C4311 finns i Vanliga kompilatorfel.

Example

Följande kodexempel genererar C4311 när det kompileras för ett 64-bitarsmål och visar sedan hur du åtgärdar det:

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