我想通过宏定义计算数组的大小,带到程序里面不能通过...
#define ArrayLength(Array) (sizeof(Array) / sizeof(Array))Start_PCM_data_size = ArrayLength(Start_PCM_data);
../Src/dac.c(119): error:#70: incomplete type is not allowed
用sizeof时,要写类型, 不要写对象, 比如
int Array;
sizeof(Array)/sizeof(int);
或者你该试试别的方法
#define ArraySize 1234
int Array;
然后直接用ArraySize , 就不用sizeof了
这样写应该是可以的啊,Start_PCM_data这个类型的头文件都包了吗,是不是文件中引用不到 这样写的要通过是可以, 但必须是定义Array与 调用ArrayLength在同一个文件里, 否则sizeof反回0 Start_PCM_data 的定义呢?
页:
[1]