plp626 发表于 2012-7-14 11:22:52

一个typedef 递归引用的问题

typedef struct {
    int x, y;
} pos_t;
typedef struct {
   pos_t pos;
   int press_button;
   struct timeval;   
}message_t;

typedef void (*act_f) (void);
typedef struct {
    int id;
    pos_t pos;
    int width;
    int height;
    struct button_t *button;
    void (*load_bg)(void *);
} windows_t;

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

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

那位能给个鼠标点击按钮,然后响应 事件的 简单策略,我的这个异常复杂;

mathe 发表于 2012-7-14 16:10:46

c/c++中,使用指针之前可以不完整定义这个类型,仅简单申明一下这是一个结构类型即可。也就是window_t的定义前加
struct button_t;
即可

plp626 发表于 2012-7-18 18:09:52

2# mathe


谢谢!
页: [1]
查看完整版本: 一个typedef 递归引用的问题