小编Meh*_*azi的帖子

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

我想根据常量值定义一些函数:

#define mode 5

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

#if mode & 4 != 0
  // function 2
#endif
Run Code Online (Sandbox Code Playgroud)

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

我究竟做错了什么?我是否想做一件愚蠢或不可能的事情?

c++ directive arduino comparison-operators c-preprocessor

0
推荐指数
1
解决办法
1357
查看次数