关于指针强制类型转化的问题定义程序段如下:typedef struct _Position{int xint y}Positionint test(vo
关于指针强制类型转化的问题
定义程序段如下:
typedef struct _Position{
int x;
int y;
}Position;
int test(void *p){
Position pos;
pos.x = (Position)p.x;
pso.y = (Position)p.y;
}
但是编译的时候出现错误。请教,关于指针的强制类型转换应该如何更改
[解决办法]
p要转化成指向Position类型的指针,所以应该是:
- C/C++ code
pos.x = ((Position *)p)->x;pos.y = ((Position *)p)->y;
[解决办法]
多使用圆括号来表示操作符结合优先级
虽说我的风格已经偏向于过度使用,不过起码用不着担心编译器弄错我的意思
[解决办法]
[解决办法]
[解决办法]
pos.x = ((Position *)p)->x;
pos.y = ((Position *)p)->y;
