C++ 无效指针算术错误
我从下面的代码中得到未知大小的错误C++ 无效指针算术错误,c++,c,windows-ce,dfu,C++,C,Windows Ce,Dfu,我从下面的代码中得到未知大小的错误 atmel_device_info_t *info; int *ptr = row->offset + (void *) info 这是一个铸造问题,我应该怎么做来修复错误?谢谢您的帮助。您无法使用void*指针进行便携式算术运算。这是有意义的,因为它是指向未知数据类型的指针,该数据没有内在大小。指向数据的大小是执行算术的核心部分 通常,“字节”指针起作用: int *ptr = (int *) ((unsigned char *)
atmel_device_info_t *info;
int *ptr = row->offset + (void *) info
这是一个铸造问题,我应该怎么做来修复错误?谢谢您的帮助。您无法使用
void*
指针进行便携式算术运算。这是有意义的,因为它是指向未知数据类型的指针,该数据没有内在大小。指向数据的大小是执行算术的核心部分
通常,“字节”指针起作用:
int *ptr = (int *) ((unsigned char *) info + row->offset);
上面假设row->offset
是字节偏移量,而不是int
偏移量。如果您想要后者,请相应地投下:
int *ptr = (int *) info + row->offset;
你能把错误贴出来吗?您尚未初始化
信息
。特别是如果行->偏移量
值在字节
中,则需要指针以字节
为单位工作。感谢您的解释!