linux 编译error: loses precision [-fpermissive]

This is because the system Linux 64-bit pointer type occupies 8 bytes, and an int 4 bytes, so there will loses precision (conversion accuracy is lost).

May be first converted to long int * type, long type can be converted implicitly to an int type, as follows:

int FUNC () { int * P; P = // Assignment return ( Long) P;} 

This will not compile reported mistake.

Guess you like

Origin www.cnblogs.com/hanrp/p/11125273.html