In C++11 the following function declaration:
int f(void);
means the same as:
int f();
A pa
In C++ they both mean the same thing.
In C f(void) is different from f(), becuse f() means "unspecified parameters" - you can legally pass anything (whether the function at receiving the data is happy about that or not is another matter).
f(void)
f()