-1 c c++ windows-ce dfu
我从下面的代码中得到未知大小错误,
atmel_device_info_t *info;
int *ptr = row->offset + (void *) info
Run Code Online (Sandbox Code Playgroud)
这是一个铸造问题,我该怎么做才能解决错误?谢谢您的帮助.
你无法用void *指针进行算术运算.这是有道理的,因为它是指向未知类型数据的指针,该数据没有内在大小.指向数据的大小是进行算术的核心部分.
通常一个"字节"指针工作:
int *ptr = (int *) ((unsigned char *) info + row->offset);
Run Code Online (Sandbox Code Playgroud)
以上假设row->offset是字节偏移,而不是int偏移.如果你想要后者,请相应地施放:
int *ptr = (int *) info + row->offset;
Run Code Online (Sandbox Code Playgroud)