Pro*_*s08 4 c void void-pointers visual-studio
我正在使用visual studio进行C项目.我试着编译以下代码:
void shuffle(void *arr, size_t n, size_t size)
{
....
memcpy(arr+(i*size), swp, size);
....
}
Run Code Online (Sandbox Code Playgroud)
我在Visual Studio Compiler中遇到以下错误:
error C2036: 'void *' : unknown size
Run Code Online (Sandbox Code Playgroud)
该代码与GCC编译良好.如何解决这个错误?
您无法对a执行指针运算,void *因为void它没有定义的大小.
将指针强制转换char *,它将按预期工作.
memcpy((char *)arr+(i*size), swp, size);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3271 次 |
| 最近记录: |