Bonjour,
Dans le cadre d'un exo je dois programmer une liste chainée dynamique.
Je develloppe sous dev c++ et je gere l'exo sous forme de projet, j'ai donc un fichier pour mon main et d'autres pour les fonction s et procedures.
Dans mon main j'ai declaré une structure et un type pointant sur cette structure.
Mon type est parfaitement reconu dans le main mais dès que je veux m'en servir dans un autre fichier source le compilateur ne le reconnait pas. Alors faut il le stocker dans une bibliotheque et l'inclure dans chaque source j'ai creusé le sujet et j'ai rien trouvé alors si vous avez une idée sur la question ca m'aiderais beaucoup.
merci d'anvance.
ca c'est mon main
et les messages d'erreurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 #include <stdio.h> #include <stdlib.h> //************************DECLARATION DES TYPES ET STRUCTURES****************** typedef struct element { //stockage de la valeur int val; //lien vers element suivant struct element *suivant; }t_el; //***************************************************************************** int main (int argc,char *argv[]) { //************************DECLARATION DES VARIABLES**************************** t_el *deb_liste; int val; //***************************************************************************** //initialisation du debut de liste deb_liste = NULL; //ajout d'un element en debut de liste printf ("Saisir la valeur de l'element a ajouter : "); scanf ("%d",&val); printf ("\n"); deb_liste = insertion (deb_liste,val); printf ("val = %d\n",deb_liste->val); system ("PAUSE");system ("CLS"); } et ca c'est une fonction stocker dans un fichier a part t_el *insertion (t_el *debut,int val) //cette fonction a pour but d'ajouter un element en debut de liste //parametre par valeur val type entier //parametre par adresse debut type pointeur de structure element { //variables locales t_el nouv; //***************** //reservation de la memoire pour le nouvel element nouv = (t_el*) malloc (sizeof (t_el)); //remplissage des champs nouv->val = val; nouv->suivant = NULL; //edition des liens nouv->suivant = debut; debut = nouv; //renvoie du debut de liste return (debut); }
1 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before '*' token
1 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before '*' token
H:\Prog C\Serie 3\Exo 1\insertion.c In function `insertion':
8 H:\Prog C\Serie 3\Exo 1\insertion.c `t_el' undeclared (first use in this function)
(Each undeclared identifier is reported only once
for each function it appears in.)
8 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before "nouv"
12 H:\Prog C\Serie 3\Exo 1\insertion.c `nouv' undeclared (first use in this function)
12 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before ')' token
15 H:\Prog C\Serie 3\Exo 1\insertion.c `val' undeclared (first use in this function)
16 H:\Prog C\Serie 3\Exo 1\insertion.c `NULL' undeclared (first use in this function)
19 H:\Prog C\Serie 3\Exo 1\insertion.c `debut' undeclared (first use in this function)
H:\Prog C\Serie 3\Exo 1\Makefile.win [Build Error] [insertion.o] Error 1
Partager