在文件“cerberOS_BSP.h”中,我有以下内容:
.directive('findNgRepeatEnd', function() {
return function(scope, element, attrs) {
if (scope.$last){
window.alert("im the last!");
}
};
})
在文件“BSP_unpnp.c”中,我有:
extern char cmp_ids[][];
extern UInt8 periph_list[];
这给periph_list没有错误,但为cmp_ids提供了以下内容:
UInt8 periph_list[AMOUNT_OF_PERIPH] = {0};
char cmp_ids[MAX_CMPS][4] = {0};
不确定如何解决这个问题因为我不完全理解这个问题,有什么想法吗?
答案 0 :(得分:0)
在......
的情况下char cmp_ids[][];
...您有两个尺寸为开放(未指定)的尺寸。由于元素的位置由start + index * sizeofelements
计算,因此有必要知道元素的大小。
外部数组的元素是内部数组char[]
。尺寸未知。
您只能省略最外层尺寸。必须指定所有其他尺寸。
答案 1 :(得分:-1)
必须使用大小声明数组,例如:
extern char cmp_ids[MAX_CMPS][4];
extern UInt8 periph_list[AMOUNT_OF_PERIPH];
因此,在头文件中,您需要添加(或包含)MAX_CMPS和AMOUNT_OF_PERIPH的定义。如果需要在运行时计算大小,则可以改为使用指针:
extern char **cmp_ids;
extern UInt8 *periph_list;