void* является полезной особенностью языков C и производных. Например, можно использовать void* для хранения указателей объектов objective-C в классе С++.
Недавно я работал над структурой преобразования типов и из-за ограничений по времени был немного ленив - поэтому я использовал void*... Как этот вопрос возник:
Почему я могу использовать метод int для void *, но не float для void *?