¿Por qué se ha desaconsejado establecer el tipo de retorno del punto de entrada a void
en C++, y luego fue eliminado por el estándar y está prohibido por los compiladores modernos? ¿Por qué se considera una mala práctica?¿Qué estuvo mal con void main()?
Ahora, según entiendo C# y Java ambos permiten tipo de retorno del punto de entrada para ser void
es decir
static void main(String[] args) /* Java */
static void Main(string[] args) /* C# */
y C# y los programadores de Java no lo consideran una mala práctica, se utilizan a menudo en los hechos.
otros idiomas que sean (sólo destinen a ser, dudo C++ será sucedido en esta década, por lo menos) los posibles sucesores de C++ como el lenguaje de programación D o Vala también permiten una void main()
. Como puede ver, dudo que la comunidad C++ lo haya eliminado del estándar porque era demasiado oscuro o impopular.
Así que mi pregunta es, ¿por qué la comunidad C++ eliminar void main()
? ¿Qué estuvo mal con eso?
Los diseñadores de diferentes idiomas toman decisiones diferentes. ¿Por qué eso importa? –
@GregHewgill Entiendo eso. ¿Pero cuáles fueron los factores y las razones que hicieron que los diseñadores de C++ tomaran la decisión? – ApprenticeHacker
Directamente de la boca del caballo: http: //www2.research.att.com/~bs/bs_faq2.html#void-main :) –