我在 stack.h 文件中声明了以下函数,当我编译项目时,l_ifc_handle 会显示错误“未知类型名称”。
extern l_bool l_ifc_init (l_ifc_handle iii);
extern void l_ifc_wake_up (l_ifc_handle iii);
extern void l_ifc_rx (l_ifc_handle iii);
extern void l_ifc_tx (l_ifc_handle iii);
extern l_u16 l_ifc_read_status (l_ifc_handle iii);
extern void l_ifc_aux (l_ifc_handle iii);
extern l_u16 l_sys_irq_disable (l_ifc_handle iii);
extern void l_sys_irq_restore (l_ifc_handle iii);
Run Code Online (Sandbox Code Playgroud)
但我的l_ifc_handle结构变量位于另一个名为 driver.h 的文件中,并在 driver.c 中使用
typedef enum {
LI0
}l_ifc_handle;
Run Code Online (Sandbox Code Playgroud)
这个 driver.h 文件包含我的 stack.h 头文件。但它l_ifc_handle在我的 driver.h 文件中。
如果我使用
typedef enum {
LI0
} extern l_ifc_handle;
Run Code Online (Sandbox Code Playgroud)
然后它会给出一个称为多个存储类别的错误。我应该将上述 typedef 放在哪个文件中?