Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
"operation" : konvertering från "type1" till "type2" med större storlek
Anmärkningar
Den här varningen identifierar ett försök att tilldela ett 32-bitarsvärde till en 64-bitars pekartyp, till exempel att gjuta en 32-bitars int eller long till en 64-bitars pekare.
Detta kan vara en osäker konvertering även för pekarvärden som får plats i 32 bitar när teckentillägget inträffar. Om ett negativt 32-bitars heltal tilldelas till en 64-bitars pekartyp, gör teckentillägget att pekarvärdet refererar till en minnesadress som skiljer sig från värdet för heltalet.
Den här varningen utfärdas endast för 64-bitars kompileringsmål. Mer information finns i Regler för att använda pekare.
Example
Följande kodexempel genererar C4312 när den kompileras för 64-bitarsmål:
// C4312.cpp
// compile by using: cl /W1 /LD C4312.cpp
void* f(int i) {
return (void*)i; // C4312 for 64-bit targets
}
void* f2(__int64 i) {
return (void*)i; // OK
}