我有一些看起来像这样的代码:
someFunc(value) { switch(value){ case 1: case 2: case 3: #ifdef SOMEMACRO case 4: case 5: #endif return TRUE; } return FALSE; }
定义SOMEMACRO,假设值为4 ..为什么跳过案例4和5而返回FALSE?:(
是因为我没有默认情况,或者我不允许在switch语句中使用ifdef?
请尝试以下方法:
someFunc(value) { switch(value){ case 1: case 2: case 3: #ifdef SOMEMACRO #error macro is defined case 4: case 5: #else #error macro is not defined #endif return TRUE; } return FALSE; }
编译它,看看编译器给你的两个错误中的哪一个.