Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jaraqui

error: expected '=', ',', ..., before '{'

Recommended Posts

Olá pessoal,

 

Não estou encontrando o motivo pelo qual a seguinte mensagem de erro está aparecendo no código a seguir quando eu mando compilar.

 

 

linha 25 --> error: expected '=', ',', ..., outros separadores, before '{' token

 

Esta linha é a que está entre o final da declaração da função shortpath e o corpo do código.

 

Eis o código:

 

#include <limits.h>
#include <stdio.h>

#define INFINITY  INT_MAX
#define MAXNODES  12
#define MEMBER 1
#define NONMEMBER 0

void bob_func(a, b, c, d, e)
int a[][10];
int b, *c, e[];

{
    d = a[0][0] + b + *c;
}

/*
void shortpath(weight, s, t, pd, precede)
   int weight[][MAXNODES];
   int s,  t,  *pd,  precede[];
*/

void shortpath(int weight[][MAXNODES], int s, int t, int *pd, int precede[])
{
   int distance{MAXNODES], perm[MAXNODES];
   int current, i, k, dc;
   int smalldist, newdist;

   /* inicializacao */
   for (i = 0; i < MAXNODES; ++i){
      perm[i] = NONMEMBER;
      distance[i] = INFINITY;
   }  /* fim for */

   perm[s] = MEMBER;
   distance[s]  = 0;
   current = s;
   while (current  != t){
      smalldist = INFINITY;
      dc = distance[current];
      for (i = 0; i < MAXNODES; i++)
         if (perm[i] == NONMEMBER){
            newdist = dc + weight[current][i];
            if(newdist < distance[i]){
               /*  a  distancia  de  a  a  i atraves de current  */
               /*  eh menor que distance[i]  */
               distance[i]  = newdist;
               precede[i]  = current;
            }  /*  fim  if  */
            /*  determina  a  menor  distancia  */
            if  (distance[i]  <  smalldist)  {
               smalldist = distance[i];
               k = i;
            }  /*  fim  if  */
         }/*  fim  for  . . .  if  */
         current  =  k;
         perm[current]  =  MEMBER;
   }  /*  fim  while  */
   *pd = distance[t];
}  /*  fim  shortpath  */

int main()
{
    printf("Olah, mundo!!!\n");
}
}

 

Observações:

  1. esqueçam que há outros erros a seguir (falta de declaração da variável perm, etc);

  2. eu criei uma "bob_func" com iguais parâmetros só para ver se a mensagem de erro de compilação apareceria para ela. Não aparece...

  3. a declaração da função posta em comentários também foi testada. Também dá o mesmo erro.

 

Alguma ideia do que pode ser?

 

 

Um abraço

Jaraqui



Encontrei o erro. A matriz estava com chaves ao invés de colchetes... favor desconsiderar (ou apagar) este tópico.

 

Obrigado e um abraço

Jaraqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

int distance{MAXNODES], perm[MAXNODES];

 

 

int distance { MAXNODES], perm[MAXNODES];



No método main tem um '}' a mais


int main() { printf("Olah, mundo!!!\n"); } }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.