我想在使用结构体做菜单程序,但是一直编译不通过,下面把程序贴出来,各位帮着解决解决,不胜感激啊
/************以下是Menu.H文件里定义的******************/
typedef struct _MenuData
{
u8 Count;
char (* Name);
u8 Attribute; // 0--可视数据 1--实时数据 2--可设数据
u8 X; // 显示行位置 (相对当前行的偏移量)
u8 Y; // 显示列位置
u8 L; // 显示宽度
void (*Set)(); // 设置函数
void (*Show)(); // 显示函数
}MenuData;
typedef struct _MenuItem
{
u8 MenuCount;
char (*MenuCaption);
char (*DisplayString);
struct MenuData (*DisplayData);
struct MenuItem (*ParentMenus);
struct MenuItem (*ChildrenMenus);
void (*Subs)();
}MenuItem;
extern struct MenuItem RootMenu[];
extern struct MenuItem MainMenu[];
extern struct MenuItem Null;
extern struct MenuData NullData;
extern void menu(void);
void DispFace(void);
void SetFaultData(void);
void ShowFaultDat(void);
void NullSubs(void);
/************以下是Menu.c文件里定义的******************/
struct MenuItem RootMenu[]=
{
{0,"j","Root Menu", &NullData,&Null,MainMenu,DispFace}
};
struct MenuData MainMenu[]=
{
//Count, * Name, Attr, X, Y, L, *Set(), *Show(),
{ 0, "事件序号", 2, 1, 5, 0, SetFaultData, ShowFaultData}
};
void SetFaultData()
{}
void ShowFaultDat()
{}
void DispFace()
{ }
/*********************/
编译时总是显示下面两个结构体定义的有问题:
struct MenuItem RootMenu[]= {
{0,"j","Root Menu", &NullData,&Null,MainMenu,DispFace}
};
struct MenuData MainMenu[]=
{
//Count, * Name, Attr, X, Y, L, *Set(), *Show(),
{ 0, "事件序号", 2, 1, 5, 0, SetFaultData, ShowFaultData}
};
显示的错误:error:incomplete type is not allowed。
看过原子哥以前贴出来的结构体代码,感觉没啥差别呢。。。。。。
就请大家帮着解决下了
|