確かC99からはvoid mainも正しいんじゃなかったっけか。まあ処理系次第だろうけど。
古いCやC++はint mainじゃないとダメらしいので、混ぜ混ぜする可能性がある場合はvoidでは駄目だろうが。