Avatar ·

¿Qué debe devolver la función main() en C++: void, int o algo más?

¡Hola a todos! Empecé a estudiar C++ recientemente y tengo confusión con la función `main()`. En diferentes fuentes he visto distintas declaraciones: en algunos lugares escriben `int main()`, en otros `void main()`, y a veces incluso `main()` sin especificar el tipo. Intenté escribir un programa simple: ```cpp #include using namespace std; void main() { cout << "Hello, world!" << endl; } ``` En Visual Studio esto se compiló e incluso funcionó, pero en otro compilador (g++) dio un error: `'::main' must return 'int'`. ¿Por qué ocurre esto? ¿Qué debería devolver realmente `main()`? ¿Y es necesario devolver algo al final si escribo `int main()`? ¿Funcionará si no escribo nada en `return`? Y otra pregunta: ¿qué devuelve exactamente `main()` y quién lo necesita? Explíquenme, por favor, para principiante, cómo escribir correctamente el punto de entrada en un programa en C++. <<>>

Respuesta correcta: main() siempre debe devolver int

En el estándar de C++ (y C) está claramente dicho: la función main() d