mdk程序移植IAR msp430 指针函数出错问题
在mdk5.0中可以正常运行编译通过,然后移植到IAR环境,函数指针报错。
/***************************/
a.c文件中
typedef void (*fun) (void)
struct lcd
{
....
....
fun abc;
......
}lcd_sta
void *efd (void)
{
return lcd_sta.abc;
}
/***************************/
a.H文件中
exturn void *efd (void);
/***************************/
b.c文件中
调用
if(efd ==)
/****************************/
目前出错在函数
void *efd (void)
{
return lcd_sta.abc;
}
这里
提示
Error[Pe120]: return value type ("void (*)(void)") does not match the function type ("void *") C:UsersadminstratorDesktopMSP430 progrom 5.5hart_parameter.c 362
不知道该如何解决
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
- fun efd (void)
- {
- return lcd_sta.abc;
- }
复制代码方案2
- void *efd (void)
- {
- return (void *)lcd_sta.abc;
- }
复制代码很感谢aozima朋友
通过你的第二种方法,增加一个(void*)问题解决了,可是不是很明白为什么加一个(void*),就不会提示错误是不是(void*)相当于强制类型转换符?
一周热门 更多>