强转后加加显示错误的问题


void* my_memcpy(void* des, const void* sur, size_t count)
{
    assert(des && sur);
    while (count--)
    {
        *((char*)des) = *((char*)sur);
        (char*)des++;
        (char*)sur++;
    }
}
int main()
{
    int a[] = { 1,2,3,4,5 };
    int b[5] = { 0 };
    my_memcpy(b, a, sizeof(a));
    return 0;
}

为什么我强制转换加加会显示错误 错误信息是++需要左值 和 必须指向完整对象类型的指针 求解答

我这里运行没问题