• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

我想通过宏定义计算数组的大小,带到程序里面不能通过

FEItwo 2019-05-24 浏览量:885
#define ArrayLength(Array) (sizeof(Array) / sizeof(Array[0]))
Start_PCM_data_size = ArrayLength(Start_PCM_data);
../Src/dac.c(119): error:  #70: incomplete type is not allowed
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:2
  • 你的数组应该是没有指定大小,比如int array[];这样就无法判断数组大小,可以在方括号里填上数字看看

  • 单片机上面不允许有这种未定义长度的数组,如果报这个错误,有可能是Start_PCM_data这个数组没有定长度

    其实你这里的功能,用个sizeof就能实现,不用那么麻烦

相关问题

问题达人换一批

我想通过宏定义计算数组的大小,带到程序里面不能通过