打印

cosmic 编译STM8S时遇到关于函数指针的问题?所指函数进不去

[复制链接]
2146|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
warden|  楼主 | 2012-5-26 12:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
const struct menu_stu_s
{
   u8 menu_no;//菜单号
   struct menu_stu_s  *sub_stu_t;//子菜单ID
   struct menu_stu_s  *add_stu_t;//按上ID
   struct menu_stu_s  *dec_stu_t;//按下ID
   void (*Subs_OK)();//OK子函数
   void (*Subs_ADD)();//+子函数
   void (*Subs_DEC)();//-子函数
   void (*Subs_Add_L)();//长按+子函数
   void (*Subs_Dec_L)();//长按-子函数
};

const struct menu_stu_s Sys_Menu[]=
{
   。。。。。。。(数组附值)
};
struct menu_stu_s *p_menu=&(Sys_Menu[0]);

在函数中写入:
              ((*p_menu).Subs_OK)();
               或
              (Sys_Menu[0].Subs_OK)();
编译都通不过,missing prototype

改成:
              (*p_menu).Subs_OK;
               或
              Sys_Menu[0].Subs_OK;
编译可以过,进不去其所指的函数,在函数里设置断点和死循环试过

请问这作何解释?
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:低调 淡定

11

主题

47

帖子

1

粉丝