求助各位大佬:
unsigned int SET_PTR(char p, void *ptr){
return ((unsigned int *)(p) = (unsigned int)(ptr));
}
这段代码为什么报错:cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
应该怎么改?
求助各位大佬:
unsigned int SET_PTR(char p, void *ptr){
return ((unsigned int *)(p) = (unsigned int)(ptr));
}
这段代码为什么报错:cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
应该怎么改?
这是提示你强制转换的类型的指针对应的长度不同。这是警告,如果你确认你就是要这么做,那就这么写。char对应的是一个字节,而unsigned int是4个字节。如果你不希望这么做,需要修改其中一个的类型。