If you do a prototype for a C function in C++, you should use
Code:
extern "C" int somefunction();
, which tells the compiler to use "classic C" prototype interpretation, rather than C++ interpretation.
Of course, it doesn't really matter if you use main() or main(void) in the case where the callee cleans up the stack - it's impossible for the callee to know how many arguments where passed - there is also
Code:
int main(int argc, char **argv, char **envp);
, where three arguments are passed.
--
Mats