我正在使用C中的#define
初始化数组,但我一直收到错误“预期表达式”
以下是代码段
#include "File2.h"
File 1.h
Int32 dataBuff[SCRATCH_BUFF_SZ];
File2.h
#define SCRATCH_BUFF_SZ ( SAMP_BUFF_LEN \
+ CORR_BUFF_LEN \
+ KERNEL_BUFF_LEN \
+ CE_BUFF_LEN \
)
我不明白这里有什么问题。错误将#define
指令指向Macro def
答案 0 :(得分:1)
两个建议:
答案 1 :(得分:0)
预期表达式:诸如+或=之类的运算符需要其右操作数的表达式,但不会出现可识别的表达式。
确保SCRATCH_BUFF_SZ中的宏(macro is not broken)
之间没有新行
答案 2 :(得分:0)
我的猜测是你在SCRACTCH_BUFF_SZ中的一个#defined常量没有按照你的想法定义?
即
SAMP_BUFF_LEN CORR_BUFF_LEN KERNEL_BUFF_LEN CE_BUFF_LEN
不是你想的那样?
答案 3 :(得分:0)
我仔细检查了所有保留你的评论的东西。 这是编译器配置错误。
我正在使用Code Composer Studio。我检查了它中的预处理器选项,现在它工作正常。
我应该尝试使用其他编译器来解决问题。
欣赏你的时间! 感谢