Erro na compilação das funções leitura/escrita no formato PGM

Erro na compilação das funções leitura/escrita no formato PGM

by Mike Itigue -
Number of replies: 3
Olá a todos!

Estou com um problema logo no início da compilação: as funções fornecidas no enunciado:

int read_pgm(char *fname, intM[][MAX], int *m, int *n, int *maxval);

e:

int write_pgm(char *fname, intM[][MAX], int m, int n, int maxval);


estão gerando o seguinte erro de compilação:

error: syntax error before 'intM'

Não sei o que pode estar acontecendo, já que só copiei as funções do enunciado. Estou compilando em S.O. Linux, com gcc 4.1.2


Costumo fazer uma compilação para teste antes de começar qualquer EP. Segue abaixo o conteúdo - que é apenas o enunciado do mesmo:


#include
#include

#define MAX_NAME 256 /* Tamanho máximo para o nome do arquivo*/
#define MAX 512 /* Dimensão máxima para matrizes */


/* -----------------------------------------------

Função que lê um arquivo no formato PGM

fname : Nome do arquivo PGM
M : matriz correspondente à imagem lida
*m : nº de linhas da matriz
*n : nº de colunas da matriz
*maxval : maior valor da matriz
------------------------------------------------ */
int read_pgm(char *fname, intM[][MAX], int *m, int *n, int *maxval);



/* -----------------------------------------------

Função que escreve mum arquivo no formato PGM

fname : Nome do arquivo PGM
M : matriz correspondente à imagem lida
*m : nº de linhas da matriz
*n : nº de colunas da matriz
*maxval : maior valor da matriz
------------------------------------------------ */
int write_pgm(char *fname, intM[][MAX], int m, int n, int maxval);




int main()
{
FILE *arq;
char fname [MAX_NAME];
char key [128];
int m, n, maxval, a[MAX][MAX];
int aux, i, j;



/* Leitura do arquivo de entrada */
printf ("Digite o nome do arquivo de entrada: ");
scanf ("%s", fname);

/* Abre arquivo para leitura */
arq = fopen(fname, "r");
if (arq == NULL)
{
printf ("Erro de leitura do arquivo %s\n", fname);
fclose(arq);
return 0;
}

/* Lê dados do cabecalho */
aux = fscanf(arq, "%s", key);
if (aux != 1)
{
printf("Erro na leitura do arquivo %s\n", fname);
fclose(arq);
return 0;
}

if (strcmp(key, "P2") != 0)
{
printf ("Formato desconhecido\n");
fclose(arq);
return 0;
}

aux = fscanf(arq, "%d %d %d", &m, &n, &maxval);
if (aux != 3)
{
printf ("Formato incorreto\n");
fclose (arq);
return 0;
}

/* Lê a matriz (imagem) que se segue */

/*

Comandos...

*/

fclose(arq); /* Fecha arquivo */
return 0;

}


In reply to Mike Itigue

Re: Erro na compilação das funções leitura/escrita no formato PGM

by Mike Itigue -
OBS: os "#include" não estão vazios no EP, obviamente. Parece que o sistema do Moodle entendeu os "brakets" como tag's de HTML.
In reply to Mike Itigue

Re: Erro na compilação das funções leitura/escrita no formato PGM

by Caio Burin Ferreira -
entao, nas funções, no segundo argumento, a palavra "int" está sem o espaço no final
deve ser "int M", e não "intM"
In reply to Caio Burin Ferreira

Re: Erro na compilação das funções leitura/escrita no formato PGM

by Francisco Reverbel -
É isso mesmo. Boa pegada, Caio.