The difference is one is the correct way to define
main, and the other is not.
And yes, it does matter. Either
int main(int argc, char** argv)
are the proper definition of your
main per the C++ spec.
void main(int argc, char** argv)
is not and was, IIRC, a perversity that came with older Microsoft's C++ compilers.