我正在尝试做这样的事情:
#define RELEASE_TEST
#if RELEASE
// code1
#elif RELEASE_TEST
// code2
#else
// code3
#endif
gcc声称#elif
:“错误:#elif没有表达”。
我不明白这个错误,因为我向“elif”提供了“RELEASE_TEST”表达。
如何让我的代码正常工作?
答案 0 :(得分:2)
RELEASE_TEST已定义,但没有任何值,因此扩展为#elif
,这是无效的。
您可以使用#elif defined(RELEASE_TEST)
来测试它是否已定义,或#define RELEASE_TEST 1
,这会导致该行扩展为#elif 1
。