YAS: еще одно решение.
Preprocessor.h
<some code>
void Prepro_init(Prepro* p) {
(*p).currentFile = 0;
}
<some code>
Preprocessor.c
#define MAX_FILES 15
struct Preprocessor {
FILE fileVector[MAX_FILES];
int currentFile;
};
typedef struct Preprocessor Prepro;
#include "Preprocessor.h" //include after defining your structure.
<some code>
{
struct Prepro p;
Prepro_init(p);
<some code>
.... using p.currentFile.....
.....using other members....
<some code>
}
<some code>
Теперь это будет работать.Я думаю, что это ваше требование.Надеюсь, это поможет.
Недостаток: Элементы структуры препроцессора, должны быть предварительно определены.т.е. файл заголовка использует член currentFile.Итак, файл c, который включает в себя Preprocessor.h, должен иметь структуру, тип которой определен как Prepro, и эта структура должна включать член currentFile. (В данном случае).
Та же самая проблема, с которой я столкнулся год назад при написаниифайл заголовка для отображения дерева Avl пользователей в графическом формате дерева.