Controls if the compiler generates a warning when an integral type is explicitly converted to a pointer type or vice versa.
#pragma warn_any_ptr_int_conv on | off | reset
This pragma is useful to identify potential 64-bit pointer portability issues. An example is shown in Listing 10.34.
#pragma warn_ptr_int_conv on
short i, *ip
void foo() {
i = (short)ip; // WARNING: integral type is not
// large enough to hold pointer
}
#pragma warn_any_ptr_int_conv on
void bar() {
i = (int)ip; // WARNING: pointer to integral conversion
ip = (short *)i; // WARNING: integral to pointer conversion
}
See also pragma warn_ptr_int_conv.
This pragma corresponds to the Pointer/Integral Conversions setting . To check this setting, use __option (warn_any_ptr_int_conv), described in Checking Settings. The default setting is off.