I always thought that an statement like const int *a means a is an int pointer to const data and as such one should not b
Casting to void* removes the association with an int - by throwing away the type, you throw away the type decorators, such as const
Edit
As from discussion below, I want to make clear, that the important part is not to what you cast (void* in the OQ), but the fact that you cast - this implies throwing away your original type and its decorators.