What is better: void foo() or void foo(void)? With void it looks ugly and inconsistent, but I’ve been told that it is good. Is this true?
Edit: I know some old compilers do weird things, but if I’m using just GCC, is void foo() Ok? Will foo(bar); then be accepted?
That is the correct way to say ‘no parameters’ in C, and it also works in C++.
But:
Means different things in C and C++! In C it means ‘could take any number of parameters of unknown types’, and in C++ it means the same as
foo(void).Variable argument list functions are inherently un-typesafe and should be avoided where possible.