找回密码
 欢迎注册
查看: 6703|回复: 2

[提问] 一个typedef 递归引用的问题

[复制链接]
发表于 2012-7-14 11:22:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
  1. typedef struct {
  2.     int x, y;
  3. } pos_t;
  4. typedef struct {
  5.      pos_t pos;
  6.      int press_button[3];  
  7.      struct timeval;   
  8. }message_t;

  9. typedef void (*act_f) (void);
  10. typedef struct {
  11.     int id;
  12.     pos_t pos;
  13.     int width;
  14.     int height;
  15.     struct button_t *button[10];
  16.     void (*load_bg)(void *);
  17. } windows_t;

  18. typedef struct button_t{
  19.     int id;
  20.     pos_t pos;
  21.     char *name;
  22.     act_f (*respond)(windows_t cur_win, message_t msg_mouse);
  23.     act_f inside_do;
  24.     act_f press_left_do;
  25.     act_f press_right_do;
  26. } button_t;
复制代码
要用C语言(不使用其他库)实现 按钮的点击 响应事件, 我第一次弄,自己按照对windows消息机制的理解,定义了上述 结构体;

结果是windows_t 里要用到 button_t , 而button_t 里要用到windows_t; 不知如何解决了;

那位能给个鼠标点击按钮,然后响应 事件的 简单策略,我的这个异常复杂;
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-7-14 16:10:46 | 显示全部楼层
c/c++中,使用指针之前可以不完整定义这个类型,仅简单申明一下这是一个结构类型即可。也就是window_t的定义前加
struct button_t;
即可
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-7-18 18:09:52 | 显示全部楼层
2# mathe


谢谢!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-25 23:55 , Processed in 0.048871 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表