本帖最后由 li13158 于 2017-1-9 17:56 编辑
函数没有入参, 居然不报错,这是为什么?
u8 TP_Scan(u8 tp)
{ }
u8 FT5206_Scan(u8 mode)
{ }
typedef struct
{
u8 (*init)(void); //初始化触摸屏控制器
u8 (*scan)(u8); //扫描触摸屏.0,屏幕扫描;1,物理坐标;
void (*adjust)(void);
u16 x[CT_MAX_TOUCH];
u16 y[CT_MAX_TOUCH];
u8 sta;
float xfac;
float yfac;
short xoff;
short yoff;
u8 touchtype;
}_m_tp_dev;
_m_tp_dev tp_dev=
{
TP_Init,
TP_Scan,
TP_Adjust,
0,
0,
0,
0,
0,
0,
0,
0,
};
u8 TP_Init(void)
{
FT5206_Init();
tp_dev.scan=FT5206_Scan;
tp_dev.touchtype|=0X80; //电容屏
tp_dev.touchtype|=lcddev.dir&0X00;//横屏还是竖屏
return 0;
}
看这2个scan函数,都有返回值,但是 tp_dev.scan=FT5206_Scan; 居然都没有入参,这是为什么?
不应该是 tp_dev.scan=FT5206_Scan(u8 mode) 吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
ok,看懂了。
f = &func;
赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。
一周热门 更多>