Bonjour,
Je suis face à un problème que j'ai déjà rencontré mais que je n'arrive pas à résoudre. Je dispose d'un fichier term.c et d'un header term.h.
Voici à quoi ressemble mon term.c
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
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(int argc, char* argv[])
{
   //Déroulement du main
}
 
int f1(int arg1,char* arg2)
{
 ....
}
 
int f2(data_t* arg2, double arg3)
{
  ....
}
Puis mon term.h ressemble à ceci:
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
 
#ifndef _TERM_H_
#define _TERM_H_
/*Déclaration des typedefs, defines utilisées et structures ou unions*/
typedef struct data data_t;
struct data
{
  int mode;
  char* id;
}
/*Prototypes de fonctions*/
int
main(int, char**);
int
f1(int,char*);
int
f2(data_t*,double);
#endif
Je pense que ce que j'écris semble être correct. Mais ce que je voudrais savoir c'est pourquoi gcc lors de la compilation me génère une erreur du type:
In file included from term.c:6:
include/term.h:14: error: two or more data types in declaration specifiers
term.c:11: error: conflicting types for ‘main’
include/term.h:15: error: previous declaration of ‘main’ was here
Franchement, si on pouvait m'expliquer là ou se situe mon erreur, je suis preneur. Il y a quelque chose que je n'ai certainement pas compris dans la compilation
Cordialement,
Johnny