ожидаемые спецификаторы декларации или «...» перед «ФАЙЛОМ» - PullRequest
3 голосов
/ 28 мая 2011

Я пишу код в c.
Я объявляю ФАЙЛ * fp в основной функции (main.c).
У нас есть и другие файлы в проекте.
Таким образом, в заголовочном файле я получаю эту ошибку:
«ожидаемые спецификаторы декларации или« ... »перед проблемой« FILE »»
на этой линии:
void myfunct (аргумент типа аргумента, FILE * fp);

Что я делаю не так?

Работа в Linux (gedit + gcc).

Ответы [ 2 ]

1 голос
/ 28 мая 2011

Вы должны включить заголовок перед использованием элемента typedef'd, в противном случае FILE ничего не значит для компилятора, и он не знает, на что он смотрит.

0 голосов
/ 28 мая 2011

аргумент typetype - это тип указателя типа на определение типа.

typedef struct testStruct testptr;
void myfunct(testptr test, FILE *fp);

Я только что включил stdio.h в этот заголовочный файл.И это работало нормально.Поэтому везде, где я использую библиотечно-зависимые функции или типы с определением типа, я должен включать соответствующую библиотеку?

Большое спасибо!

...