我相信我正在寻找的东西被称为预测......
我想键入一个引用结构的函数指针,然后将该函数指针存储在结构中。请参阅下面的 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: 警告: 'struct ShellCmdDEF' 在参数列表中声明 [默认启用] Shell.h:57:71: 警告: 它的范围只是这个定义或声明,这可能不是你想要的 [默认启用]
当然代码有效,我已经这样做了多年,但现在它是为了符合 Misra/DO170B,我需要摆脱警告。