`f (void)` ¿significa que no hay parámetros en C ++ 11 o C?
En C ++ 11 la siguiente declaración de función:
int f(void);
significa lo mismo que
int f();
Una lista de parámetros que consiste en un único parámetro sin nombre de tipo no dependiente void es equivalente a una lista de parámetros vacía.
Me da la impresión (quizás falsa) de que esta es una característica antigua, ¿tal vez heredada de C?
¿Alguien conoce la historia o los fundamentos de esta forma para declarar una función sin parámetros?