Guest --Otávio -- Postado Janeiro 28, 2008 Denunciar Share Postado Janeiro 28, 2008 Bom, coloquei o seguinte código no meu compilador:#include <iostream>#include <ctime>using namespace std;void main(void){ int i,j; srand( (unsigned)time( NULL ) ); /* Display 10 numbers. */ for( i = 0;i < 10;i++ ) { j= rand(); cout << j << endl; } system("pause"); return 0;}Só que na hora de compilar, ele fala que Main só pode retornar int. Isso significa que main + void esta errado? E se esta, como corrijo o meu script? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 28, 2008 Denunciar Share Postado Janeiro 28, 2008 Você especifica o retorno do main como void e no final do código você retorna 0. =SOu você não retorna nada, ou retorna 0 mudando de void para int. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Otávio -- Postado Janeiro 28, 2008 Denunciar Share Postado Janeiro 28, 2008 Então, só que mesmo eu colocando sem return 0 , o compilador ainda acha problema no bracket do começo de main:#include <iostream>#include <ctime>using namespace std;void main(void){ // é nessa linha que da o erroint i,j;srand( (unsigned)time( NULL ) );/* Display 10 numbers. */for( i = 0;i < 10;i++ ){j= rand();cout << j << endl;}system("pause");}Você tem idéia do que possa ser? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 28, 2008 Denunciar Share Postado Janeiro 28, 2008 Cara, sei lá, deve ser peculiaridade do compilador. Você ta usando o Dev-C++?Tipo, não fica brigando com o compilador não, faça o que ele diz. Ele quer que o main retorne inteiro, então faça retornar inteiro:#include <iostream> #include <ctime> using namespace std; int main(void) { // é nessa linha que da o erro int i,j; srand( (unsigned)time( NULL ) ); /* Display 10 numbers. */ for( i = 0;i < 10;i++ ) { j= rand(); cout << j << endl; } system("pause"); return 0; }Pronto. O erro é o retorno mesmo, não é a linha da chave aberta. É porque você deu um enter ali, mas a chave pertence, no código, à linha do void main(void). Particularidade do compilador que está usando talvez, não aceitar void.Akeleabrasssss Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Otávio -- Postado Janeiro 29, 2008 Denunciar Share Postado Janeiro 29, 2008 É cara, to usando o dev c++, deve ser por esse motivo que deu problema. Valeu!Ahh, tem algum problemas mais sério eu usar o dev c++? Qual outros programas você me recomenda?Grato pela atenção ^^ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 29, 2008 Denunciar Share Postado Janeiro 29, 2008 Eu sempre usei o Dev. Não conheço outro não, tem o visual c++, mas eu não gostei de cara dele rsrsrsrs. É feio.iT´s up to you :P Você que escolhe o compilador.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Janeiro 31, 2008 Denunciar Share Postado Janeiro 31, 2008 É o padrão ANSI que especifica que o retorno de main deve ser int. ;) É cara, to usando o dev c++, deve ser por esse motivo que deu problema. Valeu!Ahh, tem algum problemas mais sério eu usar o dev c++? Qual outros programas você me recomenda?Grato pela atenção ^^ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 1, 2008 Denunciar Share Postado Fevereiro 1, 2008 É o padrão ANSI que especifica que o retorno de main deve ser int.Isto porque o retorno avisa o sistema operacional sobre o status de finalização do programa. Quando o retorno é 0, então o programa finalizou sem erros.Não tente colocar void mainO correto é int main Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Otávio --
Bom, coloquei o seguinte código no meu compilador:
#include <iostream>
#include <ctime>
using namespace std;
void main(void)
{
int i,j;
srand( (unsigned)time( NULL ) );
/* Display 10 numbers. */
for( i = 0;i < 10;i++ )
{
j= rand();
cout << j << endl;
}
system("pause");
return 0;
}
Só que na hora de compilar, ele fala que Main só pode retornar int. Isso significa que main + void esta errado? E se esta, como corrijo o meu script?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.