Я получаю сообщение об ошибке от компилятора, указывающее (это встроенный компилятор C):
Ошибка [Pe020]: идентификатор «MPTR» не определен в myflash.h (см. Код ниже)
Я использую структуру с определением типа MPTR. Код:
//datahandler.h
#ifndef DATAHANDLER_H
#define DATAHANDLER_H
#include "enet_uip_ap01.h"
typedef struct _MPTR {
unsigned int flash_start;
unsigned int flash_pagestart;
unsigned short rom_start;
unsigned short rom_nextrecord;
unsigned short rom_lastrecord;
} MPTR;
...etc
Я хочу переслать объявление функции с использованием аргумента MPTR в другом заголовке:
//myflash.h
#ifndef MYFLASH_H
#define MYFLASH_H
#include "enet_uip_ap01.h"
unsigned char FLASH_StorePage(MPTR *mptr, unsigned short addr, unsigned int flag);
Оба заголовка: «datahandler.h» и «myflash.h» включены в «enet_uip_ap01.h». Однако приведенное выше объявление функции вызывает ошибку компиляции.
Скорее всего, это простая базовая проблема языка Си, и это позор, которого я не знаю, но у меня нет идей, как ее решить. Я был бы очень рад, если бы кто-то мог указать мне на мою ошибку. Спасибо!
РЕДАКТИРОВАТЬ: поместите дополнительный код здесь:
//enet_uip_ap01.h
#ifndef ENET_UIP_AP01_H
#define ENET_UIP_AP01_H
//....other not relevant includes here...
#include "datahandler.h"
#include "myflash.h"
#endif