Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro de compilação

Olá, fui compilar o código apareceu os erros abaixo que não consigo identificar. Tentei comparar com o código do instrutor e não achei os erros.

insira seu cC:\ProgramaC>gcc fogefoge.c mapa.c -o fogefoge.exe
mapa.c: In function 'ehparede':
mapa.c:53:1: error: parameter name omitted
 int ehparede(MAPA*, int x, int y) {
 ^~~
mapa.c:55:3: error: 'm' undeclared (first use in this function)
   m->matriz[x][y] == PAREDE_VERTICAL ||
   ^
mapa.c:55:3: note: each undeclared identifier is reported only once for each function it appears in
mapa.c: In function 'personagem':
mapa.c:59:1: error: parameter name omitted
 int personagem(MAPA*, char personagem,
 ^~~
mapa.c:61:9: error: 'm' undeclared (first use in this function)
  return m->matriz[x][y] == personagem;
         ^
mapa.c: In function 'podeandar':
mapa.c:64:1: error: parameter name omitted
 int podeandar(MAPA*, char personagem, int x, int y) {
 ^~~
mapa.c:66:12: error: 'm' undeclared (first use in this function)
   ehvalida(m, x, y) &&
            ^
mapa.c:68:4: warning: implicit declaration of function 'ehpersonagem' [-Wimplicit-function-declaration]
   !ehpersonagem(m, personagem, x, y);ódigo aqui
1 resposta
solução!

Olá, Antonio.

No primeiro erro, você esqueceu de dar um nome para o parâmetro MAPA, faça assim:

int ehparede(MAPA* m, int x, int y) {

Tem outras funções com esse mesmo erro, só fazer igual.

Acho também que você esqueceu de adicionar a função ehpersonagem ao arquivo .h.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software