我必须将日志记录添加到特定模块,这应该允许我在需要时启用和禁用日志记录。我添加了几个#defines 来做到这一点。代码如下
#define PAINT_LOG_ENABLED true
#if PAINT_LOG_ENABLED == true
#define PAINT_LOG_EXTENSIVELY true
#if PAINT_LOG_EXTENSIVELY == true
#define PAINT_LOG_FILE_NAME TEXT("paint-log-ex.log")
#else
#define PAINT_LOG_FILE_NAME TEXT("paint-log.log")
#endif
#endif
但这会给我一个错误提示 fatal error C1017:无效的整数常量表达式
当我使用 1 和 0 而不是 true 和 false 时,上面的代码有效。 请帮忙。
最佳答案
C++ 预处理器可以测试定义值是否存在。您不需要使用 true
。而不是
#define PAINT_LOG_ENABLED true
#if PAINT_LOG_ENABLED == true
你可以简单地写
#define PAINT_LOG_ENABLED
#if PAINT_LOG_ENABLED
关于c++ - 我如何比较在 C++ 中分配给#define 的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22191431/