Avatar ·

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