【发布时间】:2019-10-02 07:41:53
【问题描述】:
在我的代码中,我有预处理器定义
#define ZOOM_FACTOR 1
我在另一个地方
#ifdef ZOOM_FACTOR
#if (ZOOM_FACTOR == 1)
#define FONT_SIZE 8
#else
#define FONT_SIZE 12
#endif
#else
#define FONT_SIZE 8
#endif
问题是当我将ZOOM_FACTOR 值更改为floating point 值时,例如1.5,我收到编译错误C1017: invalid integer constant expression。
有谁知道我为什么会收到这个错误,有没有办法在预处理器指令中比较 integer 和 floating point number?
【问题讨论】:
-
尝试使用“更大”、“大于或等于”、“更低”或“更低或等于”比较。
标签: c++ preprocessor