找回密码
 欢迎注册
查看: 10120|回复: 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-11-22 01:53 , Processed in 0.024403 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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