¿Existe un uso legítimo de void*en C ++? ¿O se introdujo porque C lo tenía?
Solo para recapitular mis pensamientos:
Entrada : Si queremos permitir múltiples tipos de entrada, podemos sobrecargar funciones y métodos, alternativamente podemos definir una clase base común o plantilla (gracias por mencionar esto en las respuestas). En ambos casos, el código se vuelve más descriptivo y menos propenso a errores (siempre que la clase base se implemente de una manera sensata).
Resultado : No puedo pensar en ninguna situación en la que prefiera recibir void*en lugar de algo derivado de una clase base conocida.
Solo para dejar en claro lo que quiero decir: no estoy preguntando específicamente si hay un caso de uso para void*, sino si hay un caso en el que void*sea la mejor o la única opción disponible. Lo cual ha sido perfectamente respondido por varias personas a continuación.