Also , I would like to add in many situations you would use void main () as say in the ICC11/ICC12/Metrowerks and embedded ARM programming
And arguing that void main is used in some ARM systems is no argument at all.
It's like stating marijuana is an illegal drug but can be used to treat glaucoma. Embedded programming is entirely a different monkey.
Every where contemporary students would start of with the old DOS version of main() because they are learners that time . They are expected to be wise enough to use command line parameters when in projects
I didn't specifically mean the cmd args version, but even a generic
int main(void) or
int main() would do. If not much it saves a keystroke (*nix users would know).
void main() is like being invited at a party, but leaving without informing the host. In ARM you
are the host.
My advice to OP. Don't only code, code correctly. This is a good site for C++ standardized coding.