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)
A noter que mon code fonctionnait parfaitement avant que je n'introduise ma structure StepSize../Headers/Myheaders/functions.h:64: error: erreur de syntaxe before "StepSize"
../Headers/Myheaders/functions.h:64: attention : function declaration isn't a prototype
Voici le .h correspondant :
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 #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 []);
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 #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
Si quelqu'un peut trouver cette erreur de syntaxe...
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); } }
Merci
Partager