当一个指针到特定类型的(比如int,char,float,..)被递增,其值增加该数据类型的大小.如果void指向大小数据的指针x递增,它如何获得指向x前面的字节?编译器如何知道添加x指针的值?
我正在使用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编译良好.如何解决这个错误?