我已经写类似如下:预处理语句问
#define ABC20
//#define ABC10
//#define ABC00
#ifdef ABC20
#define SYSTEMNAME "ABC2"
#elif ABC10
#define SYSTEMNAME "ABC1"
#elif ABC00
#define SYSTEMNAME "ABC0"
#else
#define SYSTEMNAME "UNKNOWN"
#endif
而且它可以工作。
但如果我更改为以下:
//#define ABC20
#define ABC10
//#define ABC00
#ifdef ABC20
#define SYSTEMNAME "ABC2"
#elif ABC10
#define SYSTEMNAME "ABC1"
#elif ABC00
#define SYSTEMNAME "ABC0"
#else
#define SYSTEMNAME "UNKNOWN"
#endif
当我编译,它得到了错误说ABC10未声明。你们知道为什么吗?
你能解释更多@perreal?我不明白。 TQ。 – Coolguy
我的ABC2 @perreal在哪里? – Coolguy
这就像在C中说else else()一样。你需要一个条件来检查。您也可以将ABC10定义为1以使其工作 – perreal