O que a função main() deve retornar em C++: void, int ou algo mais?
Olá a todos! Comecei a estudar C++ recentemente e fiquei confuso com a função `main()`. Em diferentes fontes, vi declarações diferentes: em alguns lugares escrevem `int main()`, em outros `void main()`, e às vezes até `main()` sem especificar o tipo. Tentei escrever um programa simples:
```cpp
#include
using namespace std;
void main() {
cout << "Hello, world!" << endl;
}
```
No Visual Studio, isso compilou e até funcionou, mas em outro compilador (g++) deu erro: `'::main' must return 'int'`. Por que isso? O que a `main()` realmente deve retornar? E é necessário retornar algo no final se eu escrever `int main()`? Funcionará se eu não escrever nada no `return`? E outra pergunta: o que exatamente a `main()` retorna e para quem isso é necessário? Explique, por favor, para um iniciante, como escrever corretamente o ponto de entrada de um programa em C++.
<<>>
Resposta correta: main() sempre deve retornar int
No padrão C++ (e C), está claramente definido: a função main() d