Я считаю, что я ищу, называется прогнозированием ...Прогноз на структуру
Я хочу определение типа во указатель на функцию, которая ссылается на структуру, а затем этот указатель функции хранится в структуры. См. Раздел ShellCmdDEF ниже.
typedef BOOL (*ShellCmdFN) (struct ShellCmdDEF* pCmd, uint16_t u16State);
typedef struct
{
uint32_t u32Flags;
uint16_t u16State;
ShellCmdFN pCmdFN;
} ShellCmdDEF;
Компилятор жалуется ... константы выглядит
Shell.h: 57: 71: предупреждение: 'структура ShellCmdDEF', объявленная внутри списка параметров [включено по умолчанию] Shell.h: 57: 71: предупреждение: его область действия - это только это определение или декларация, которая, вероятно, не является тем, что вы хотите [включено по умолчанию]
Конечно, код работает, и я делал это в течение многих лет, но теперь это касается соответствия Misra/DO170B и Мне нужно избавиться от предупреждений.
«вперед декларация» является термином, который вы ищете. http://en.wikipedia.org/wiki/Forward_declaration –