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 pointer portability issues. An example is shown in the following listing.
#pragma warn_ptr_int_conv on short i, *ip void foo() { i = (short)ip; // WARNING: integral type is not large // 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 warn_ptr_int_conv.
This pragma corresponds to the Pointer/Integral Conversions setting in the Warnings panel. To check this setting, use __option (warn_any_ptr_int_conv ), described in Checking Pragma Settings. By default, this pragma is off.