can-39743 发表于 2012-4-12 15:43:36

IAR编译错误 Error[Pe144],求救

 
编写了一段程序:
 
typedef struct { u16 adcCnt;
                          u16 adcTempVal;
                                void(*init)();
                                void(*calc)();
                               u16 adcVal;
}ADC_STR;
typedef ADC_STR  *ADChanlde;
#define ADC_STR_defaults { 0,0,\
                (void(*)(u16))ADCinit,\
        (void(*)(u16))ADChandle,\
        0,0,0,0,0,\
        0,0,0,0,0\
 }
void ADCinit(ADChanlde );
void ADChandle(ADChanlde );
主程序中:ADC_STR adcStr  = ADC_STR_defaults;
 
但其会出现如下错误:

 
Error: a value of type "void (*)(u16)" cannot be used to initialize an entity of type "void (*)()" F:\prj\xinzhongyi\src\main.c 9 
怎样解决呢?
 

 
 

发表于 2012-4-12 17:10:26

RE:IAR编译错误 Error[Pe144],求救

ADC_STR和ADC_STR_defaults 的对应类型不匹配。u16 adcTempVal=void(*)(u16))ADCinit?u16!=void

can-39743 发表于 2012-4-12 17:27:14

回复:IAR编译错误 Error[Pe144],求救

 谢谢,,我试下

can-39743 发表于 2012-4-12 17:28:03

回复:IAR编译错误 Error[Pe144],求救

回复第 2 楼 于2012-04-12 17:10:26发表:
ADC_STR和ADC_STR_defaults 的对应类型不匹配。u16 adcTempVal=void(*)(u16))ADCinit?u16!=void
那应该怎么修改呢?
 

发表于 2012-4-12 21:28:41

RE:IAR编译错误 Error[Pe144],求救

不好意思,我看错行了,应该是(void(*init))ADCinit,你试试。
页: [1]
查看完整版本: IAR编译错误 Error[Pe144],求救