在预处理程序指令C ++中使用比较运算符

问题描述

我想基于常量值定义一些函数:

#define mode 5

#if mode & 2 != 0
  // function 1
#endif

#if mode & 4 != 0
  // function 2
#endif

这听起来似乎很奇怪,但是我想使用一个常量来定义和激活一些程序模块。
定义mode = 2包括功能1,mode = 4包括功能2,而mode = 6包括两个功能。
有一个问题:==!=><之类的比较运算符似乎在指令中不起作用,并且#if语句始终执行。

我在做什么错?我是在尝试做愚蠢或不可能的事情吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)