Bonjour, je me casse la tête depuis maintenant 30 minutes pour trouver une erreur de syntaxe...

Voici l'erreur du compilo (enfin la première car après il m'enchaine plein d'erreur)

../Headers/Myheaders/functions.h:64: error: erreur de syntaxe before "StepSize"
../Headers/Myheaders/functions.h:64: attention : function declaration isn't a prototype
A noter que mon code fonctionnait parfaitement avant que je n'introduise ma structure StepSize

Voici le .h correspondant :

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
 
#include<stdlib.h>
#include <pthread.h> /* pthread functions and data structures */
 
#include "engine.h"
#include "species.h"
#include "vector.h"
#include "egr.h"
#include "mechanism.h"
#include "matrix.h"
#include "inidata.h"
#include "randinicond.h"
#include "distribution.h"
#include "task.h"
#include "main.h"
#include "nvector_serial.h"
#include "userdata.h"
#include "cvode.h"
#include "cvode_dense.h"
#include "solver.h"
#include "woschni.h"
#include "stepsize.h"
 
/* ici il y a tous plein de prototypes de fonctions qui marchent bien car mon pb est apparu après l'introduction de ma structure StepSize
*/
 
/* le pb est à cette ligne ci */
int LoadInitialInputs(char *,IniData *,Engine *,Distribution *,StepSize *,double *,double *,double *,double *,double *,int * ,char *,char *,char *,char *,char *,char [],char []);
voici mon stepsize.h

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
 
#ifndef _SOLVER_H_20070228_PLP_
#define _SOLVER_H_20070228_PLP_
 
#ifdef __cplusplus  /* wrapper to enable C++ usage */
extern "C" {
#endif
 
/*
  If crank angle <= cadmin or crank angle >= cadmax
  then stepsize = ssmax degree
  else stepsize = ssmin degree
*/
 
typedef struct
{
  double cadmin;
  double cadmax;
  double ssmin;
  double ssmax;
} StepSize;
 
StepSize * CreateEmptyStepSize(void);
void DestroyStepSize(StepSize **);
void CheckInputStepSize(StepSize *);
 
#ifdef __cplusplus
}
#endif
 
#endif
et mon stepsize.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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
#include<stdlib.h>
#include<stdio.h>
#include "stepsize.h"
#include "defines.h"
 
StepSize * CreateEmptyStepSize(void)
{
  StepSize * ss=malloc(sizeof(*ss));
  if(ss==NULL)
  {
    MEMERROR;
    exit(EXIT_FAILURE);
  }
}
 
void DestroyStepSize(StepSize ** ss)
{
  free(*ss); *ss=NULL;
}
 
void CheckInputStepSize(StepSize * ss)
{
  if(ss->ssmin>=ss->ssmax)
  {
    fprintf(stderr,"%s %d : Error : STEPSIZEMIN >= STEPSIZEMAX. Check input data\n",__FILE__,__LINE__);
    exit(EXIT_FAILURE);
  }
 
  if(ss->cadmin>=ss->cadmax)
  {
    fprintf(stderr,"%s %d : Error : CADMIN >= CADMAX. Check input data\n",__FILE__,__LINE__);
    exit(EXIT_FAILURE);
  }
}
Si quelqu'un peut trouver cette erreur de syntaxe...
Merci