结构体和数据类型如何定义才相等?

芯艺 2007-08-28 04:54:40
typedef struct DSIPALY_WND
{
struct DISPLAY_WND * pParentWnd;
uint8_t Buf[2];

void (*Display) (struct DISPLAY_WND *pWnd,uint8_t key);
void (*Flash) (struct DISPLAY_WND *pWnd,uint8_t flag);
}WND,*PWND;


就这样一个定义,在函数中用时,一个PWND类型付给pParentWnd时总编译器总发出警告,要求数据类型转换,郁闷.
...全文
125 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
芯艺 2007-08-28
  • 打赏
  • 举报
回复
void CreateWnd(PWND Wnd, \
void *kf /* void (*kf)(struct DISPLAY_WND *,uint8_t) */, \
void *ff /* void (*ff)(struct DISPLAY_WND * ,uint8_t) */, \
PWND parWnd)
{
//设置显示函数
Wnd->Display=kf;
Wnd->Flash=ff;
//设置父窗口
Wnd->pParentWnd=(struct DISPLAY_WND *)parWnd;
}

如上,最后一行必须加一个(struct DISPLAY_WND *)才没有警告.

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧