我已經寫類似如下:預處理語句問
#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