Como encaminhar typedef'd struct em .h
Tenho Preprocessor.h
#define MAX_FILES 15
struct Preprocessor {
FILE fileVector[MAX_FILES];
int currentFile;
};
typedef struct Preprocessor Prepro;
void Prepro_init(Prepro* p) {
(*p).currentFile = 0;
}
Percebi então que tinha que separar as declarações das definições. Então eu criei o Preprocessor.c:
#define MAX_FILES 15
struct Preprocessor {
FILE fileVector[MAX_FILES];
int currentFile;
};
typedef struct Preprocessor Prepro;
And Preprocessor.h é agora:
void Prepro_init(Prepro* p) {
(*p).currentFile = 0;
}
Isso obviamente não funciona porque Pr..h não conhece o tipo Prepro. Eu já tentei várias combinações, nenhuma delas funcionou. Não consigo encontrar a solução.