IAR 编译报错,错误提示如下:
Error[Pe147]: declaration is incompatible with “CANAppLayerStruct CanAppLayerState[2]” (declared at line 188 of “D:\work_git\D78\code\platform\apps\can\se_can.h”) D:\work_git\D78\code\platform\apps\can\se_can_state_tracer.c 30
错误原因:定义与声明不一致造成的
举例说明:
比如我在a.c里面定义一个int a[3];数组,但是我要在b.c文件中使用数组a,因此在b.c文件里面,使用extern 关键字声明a数组,但是在声明时,把a数组定义的下标值搞错了,就会报此错误,比如在b.c文件中使用如下声明:
extern int a[2];
正确写法:
extern int a[3];
因此出现此错误是由于粗心导致的。