Godzil (./291) :
En C au pire tu as un warning si tu tape
int toto()
{
}
et au mieux rien. et ça correspond a un "int toto(void)"
Mais ça fait que
toto(1,2,3); compilera sans broncher et jettera les arguments.

De plus, pour les pointeurs de fonction,
int (*)(void) et
int (*)() ne sont pas le même type, ce qui entre en considération par exemple pour les histoires d'aliasing. Bref, en C, il faut toujours écrire le
(void).