Тип параметра void в C ++ не нужен. Функция, объявленная с пустым списком аргументов, эквивалентна. Это допустимо по причине того, что код на С может компилироваться без ошибок.
Тип параметра void необходим в C, поскольку функция, объявленная с пустым списком аргументов, принимает любое количество любых типизированных аргументов. Это остаток до ANSI C, также известный как K & R C. K & R C не требовал прототипов функций.