Well I can't compile the following code on header (called COMBTEX.h) (im using GCC):
´Code:#ifndef COMBTEX_H #define COMBTEX_H #include <limits.h> #include "lines.h" #include "fields.h" /*----------------------- defines y macros -------------------------*/ /* tipo BOOL */ #define TRUE 1 #define FALSE 0 typedef int BOOL; /*-------------------------- estructuras ---------------------------*/ /* CONFIG: almacena los seteos del programa */ typedef struct { BOOL verbose; // salida de combinacion por pantalla? char inputFile[PATH_MAX]; // nom. archivo de entrada char outputFile[PATH_MAX]; // nom. archivo de salida char dataFile[PATH_MAX]; // nom. archivo de datos } CONFIG; /* prototipo de funciones */ void initstruct( CONFIG* , TEXTBUFFER*, FIELDLIST*);
In the link marked red, the compiler says:
combtex.h:36: error: syntax error before "TEXTBUFFER"
We'll TEXTBUFFER is defined on "lines.h" (it's included properly on the above header). Here it is:
The problem is that in LINES.H i need the definition of CONFIG* for doInputtext function. That is in the first header...Code:#ifndef LINES_H #define LINES_H #define TEXT_ENDMARK '*' #define MAX_DIGITS 6 #define MAX_LINE 100 // caracteres maximos de linea #include "combtex.h" /* TEXTBUFFERS: estructura que contiene los buffers de texto y estado del mismo de los mismos */ typedef struct _textbuf { int numTextLines; // numero de lineas de texto fuente char* linebuffer[]; } TEXTBUFFER; void doInputtext(CONFIG* , TEXTBUFFER*); BOOL loadtextfile(char*, TEXTBUFFER *); void loadtextin(TEXTBUFFER* ); void editbuffer(TEXTBUFFER* ); void viewbuffer(TEXTBUFFER* ); void freebuffer(TEXTBUFFER* ); #endif //LINES_H
I'm getting a problem on cyclic-header includes?
Thank you very much for your help.![]()




Reply With Quote