Erreur de compilation dans mon programme C

Fermé
labenjou - 25 avril 2008 à 16:02
 labenjou - 25 avril 2008 à 16:52
Bonjour,
Je suis étudiante en DUT info et nous avons comme projet un plan de metro interractif en C.
Chaque ligne est une liste chaînée de stations.
j'ai écrit une fonction qui trace mes lignes selon la couleur de chacune (le graphique est établit à partir d'une bibliothéque faite par un de mes professeurs); cette derniere fonctionne mais étant cependant très longue ( que des tests), j'ai voulu la metrre dans un fichier annexe appelé couleur.c.
je la déclare ainsi:

void CouleurLigne(ligne l) // ligne résultant du type def de ma structure
{
/..................................
tests
................................./

}

je met un #include"couleur.c" dans mon fichier principal et appelle ma fonction comme auparavant.
Quand je compile le terminal m'affiche: $gcc...: expected ')' before 'l' token.
???? Alors que je n'ai aucun message d'erreur quand ma fonction est définie dans mon fichier principal.

Quelqu'un aurait une solution svp je craque!

3 réponses

HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
25 avril 2008 à 16:04
Regarde ton code, tu as une erreur qui se balade, type une parenthèse mal fermée.
0
C'est ce que je me disais au début seulement aucune parenthése manquante.

void CouleurLigne(ligne l) // l'erreur est indiquée a cette ligne
{

if(l->nomligne='1')
DessinerSegment(ordonnéeDépart,ordonnéeArrivée,AbscisseDépart,AbscisseArrivée,CouleurParNom("yellow"));

}

Je vois vraiment pas d'ou ca vient...
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
25 avril 2008 à 16:13
Regarde avant et après, c'est pas forcément là où c'est indiqué, et c'est pas forcément une parenthèse non plus.

Bref, vérifie bien chaque caractère de ton code.
0
j'ai une question qui pourrait peut etre expliquer mon problème,
Si dans mon fichier principal je déclare une structure comme ci-dessous:

struct metro{
int x; //abscisse de ma station sur le plan
int y; // ordonnée de ma station sur le plan
char nomstation[100];
char nomligne[6];
struct metro *suivant;
};
typedef metro* ligne;

Est-ce que je peux mettre ligne comme parametre d'une fonction dans un fichier annexe .
Parce que j'ai changé les parametres de ma fonction en donnant non pas la structure mais par exemple le x et le y de ma structure et ca marche, ca n'est donc pas un probleme de caractere manquant je pense mais de parametre.
Alors a-t'on le droit de donner a une fonction une structure définit dans un autre fichier...?
Et si je me trompe (fort probable) quelqu'un aurait des suggestions?
0