Jaraqui 0 Denunciar post Postado Setembro 28, 2013 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: esqueçam que há outros erros a seguir (falta de declaração da variável perm, etc); 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... 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
BrunoR 0 Denunciar post Postado Setembro 29, 2013 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