Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"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
}