HRMT Posted May 26, 2012 at 04:59 PM Report #458235 Posted May 26, 2012 at 04:59 PM Boas, poderiam-me ajudar a perceber como corrigir o aviso que me dá nesta função, já tentei de varias maneiras e não estou mesmo a ver como corrigir. void actualizar_posicao (char *comando, Tabuleiro *sTabuleiro, Carro c) { if ( strcmp(comando,"VD") == 0) c = roda_direita(c); if ( strcmp(comando,"VE") == 0) c = roda_esquerda(c); if ( strcmp(comando,"AV") == 0) c = avanca_posicao(c); else printf("COMANDO ERRADO\n"); } Nesta linha de código if ( strcmp(comando,"VD") == 0) c = roda_direita(c); dá-me isso: Citação aviso: assignment makes pointer from integer without a cast.
pmg Posted May 26, 2012 at 06:02 PM Report #458244 Posted May 26, 2012 at 06:02 PM (edited) Duvida nova, topico novo, please! Eu dividi o topico para ficarem as coisas separadas. O problema esta na atribuicao c = roda_direita(c); Sem saber os tipos de c e roda_direita() e dificil corrigir o warning. Suponho que o tipo Carro seja um typedef com ponteiro para qualquer coisa e o tipo de retorno da funcao roda_direita() seja um tipo inteiro (int, long, unsigned, ...). Se for isso, como é questionavel meter um valor inteiro num ponteiro, altera o teu programa para meter valores inteiros em objectos de tipos inteiros ou meter ponteiros em objectos que sao ponteiros. Edited May 26, 2012 at 06:06 PM by pmg What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now