Чи є законним використання void*C ++? Або це було запроваджено тому, що це було у С?
Просто, щоб підбити підсумки своїх думок:
Введення : Якщо ми хочемо дозволити декілька типів введення, ми можемо перевантажити функції та методи, в якості альтернативи ми можемо визначити загальний базовий клас або шаблон (спасибі, що згадали це у відповідях). В обох випадках код отримує більш описовий і менш схильний до помилок (за умови, що базовий клас реалізований розумним способом).
Результат : Я не можу придумати жодної ситуації, коли б я віддав перевагу отримувати void*на відміну від чогось, що походить від відомого базового класу.
Тільки для того, щоб чітко пояснити, що я маю на увазі: я не спеціально запитую, чи існує варіант використання void*, а чи є такий випадок, коли void*найкращий чи єдиний доступний вибір. На що чудово відповіли кілька людей нижче.