"void" is only usable with Microsoft's compiler. Since many people were using other compilers, I switched to "int," which is valid on all compilers since it is standard for C++. Initially, I used "void" because I thought it would be easier than having to explain the "return" statement to beginning programmers. This was the only non-standard C++ that I used, and now I avoid it entirely.
To keep the console window open, you can compile with using the "Start Without Debugging" option by pressing (F5 + Ctrl). Microsoft had that option in the menu until 2010 (you can still get it by selecting "Expert Settings" under the "Tool" in the menubar). Since Microsoft took that option out of the menu, I started to use cin.get(). Since this question was so common and has several facets, I created a blog post for it:
http://xoax.net/blog/keeping-the-c-console-window-open/Mike