我正在使用 visual studio 处理一个 C 项目。我尝试编译以下代码:
void shuffle(void *arr, size_t n, size_t size)
{
....
memcpy(arr+(i*size), swp, size);
....
}
我在使用 Visual Studio 编译器时遇到以下错误:
error C2036: 'void *' : unknown size
代码在 GCC 下编译良好。如何解决这个错误?
最佳答案
您不能对 void *
执行指针运算,因为 void
没有定义的大小。
将指针转换为 char *
,它将按预期工作。
memcpy((char *)arr+(i*size), swp, size);
关于c - 错误 C2036 : 'void *' : unknown size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37460579/