W C funkcja bez parametrów tak naprawdę przyjmuje dowolną liczbę parametrów (tzw. varargs). Natomiast w C++ funkcja bez parametrów nie przyjmuje żadnych parametrów jakkolwiek to brzmi.
Przykładowo taki kod w C jest w pełni poprawny:
void foo()
{
return;
}
int main()
{
foo(0, 1, 2, 3,
"Trochę innych parametrów",
0.123, 0xBEEFC0DE);
return 0;
}