typedef
{
Enum0 = 0,
Enum1,
Enum2
}Enum;
#define Temp1 Enum0
#define Temp2 Enum1
#define TRUE 1
#define FALSE 0
int main ( )
{
...
#if (Temp2 == TRUE)
...
#endif
...
}
如上程序,显然#if...#endif包含的代码不会被编译,因为预编译在编译之前。话是这么说,Temp2已经被替换为Enum1,但是编译前编译器怎么知道Enum1已经定义了呢? |