私は以下のようなものを書きました:
#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が宣言されていないというエラーが発生しました。理由を知っていますか?