ОК, я искал решение в течение двух дней, но я не смог найти, что не так с моим кодом. ; (Функция не распознает аргумент typedef
Задача проста: определить новый тип с помощью typedef и получить функцию, считывающую строки этого нового типа из файла в массив снова этого нового типа, поэтому мой typedef внутри заголовочного файла выглядит так: сейчас (ив попробовал несколько вариантов написания этого)
// filename: entries.h
#ifndef ENTRIES_H_
#define ENTRIES_H_
#include<time.h>
typedef struct{
char Loginname[25];
time_t RegDate;
unsigned long Highscore;
time_t Hdate;
}typePlayerEntry;
int readPlayerList(char *name, typePlayerEntry *feld);
#endif /* ENTRIES_H_ */
main.c:
//filename: main.c
#include <stdio.h>
#include "entries.h"
int main(void) {
char name[13]="numbers.txt";
typePlayerEntry *pep;
readPlayerList(name, pep);
return 0;
}
моя функция файл выглядит следующим образом (и где Heres показано ошибка)
//filename: readPlayerList.c
int readPlayerList(char *name, typePlayerEntry *feld) {
return 0;
}
неуместный код полностью исключен. Проблема воспроизводится с отправленным кодом.
программа не компилируется, потому что тип второго аргумента в файле функции не может быть распознан, - что является нечетным, поскольку оно определено в файле заголовка и также может использоваться в основной функции. И эта ошибка каким-то образом связана с объявлением (в данном случае) указателем типа playerEntry в моем main.c. Поэтому, если я не объявляю об этом, theres нет ошибки, хотя я должен объявить его, чтобы фактически передать его функции. как получилось, что решение до сих пор заключается в том, чтобы включить записи.h в readPlayerList.c, который не был необходим для предыдущих функций?
im использование eclipse kepler с MinGW, в случае возникновения проблемы с компилятором.
исправил недостающее включение time.h и немного скорректировал код.
кажется мне правильным. Являются ли объявления struct и typedef перед объявлением функции? – nneonneo
Хорошо, вы заявили, что они появляются в файле заголовка ... но вы включили его в источник, где он используется? –
@nneonneo yes, отредактировал мой вопрос, показывающий все используемые файлы, которые вызывают ошибку. – Matze