¿Qué estuvo mal con void main ()?

Por qué ha establecido el tipo de retorno del punto de entrada envoid en C ++ siempre se desaconsejó, y luego fue eliminado por el estándar y está prohibido por los compiladores modernos? ¿Por qué se considera una mala práctica?

Ahora, según tengo entendido, C # y Java permiten que el tipo de retorno del punto de entrada seavoid es decir

static void main(String[] args) /* Java */
static void Main(string[] args) /* C# */

Y los programadores de C # y Java no lo consideran una mala práctica, de hecho la usan a menudo.

Otros idiomas que son (solodestinado ser, dudo que C ++ tenga éxito en esta década, al menos) los posibles sucesores de C ++ como el lenguaje de programación D o Vala también permiten unvoid main(). Como puede ver, dudo que la comunidad de C ++ lo haya eliminado del estándar porque era demasiado oscuro o impopular.

Así que mi pregunta es, ¿por qué la comunidad C ++ eliminóvoid main()? ¿Qué tenía de malo?

Respuestas a la pregunta(8)

Su respuesta a la pregunta