1 #error的用法
- error用于生成一个编译错误消息。
- 用法:#error message(message不需要用双引号包围)。
- #error编译指示字用于自定义程序员特有的编译错误消息,类似的#warning用于生成编译警告。
- #error是一种预编译器指示字。
- #error可用于提示编译条件是否满足。
例如:
#ifnedf __cplusplus
#error This file should be processed with C++ compiler.
#endif
- 编译过程中的任意错误信息意味着无法生成最终的可执行程序。
#error预处理初探
#include <stdio.h>
#ifndef __cplusplus
#error This file should be processed with C++ compiler.
#endif
class CppClass
{
private:
int m_value;
public:
CppClass()
{
}
~CppClass()
{
}
};
int main()
{
return 0;
}
#error在条件编译中的应用
#include <stdio.h>
void f()
{
#if ( PRODUCT == 1 )
printf("This is a low level product!\n");
#elif ( PRODUCT == 2 )
printf("This is a middle level product!\n");
#elif ( PRODUCT == 3 )
printf("This is a high level product!\n");
#else
#error the PRODUCT NOT defined!
#endif
}
int main()
{
f();
printf("1. Query Information.\n");
printf("2. Record Information.\n");
printf("3. Delete Information.\n");
#if ( PRODUCT == 1 )
printf("4. Exit.\n");
#elif ( PRODUCT == 2 )
printf("4. High Level Query.\n");
printf("5. Exit.\n");
#elif ( PRODUCT == 3 )
printf("4. High Level Query.\n");
printf("5. Mannul Service.\n");
printf("6. Exit.\n");
#else
#error the PRODUCT NOT defined!
#endif
return 0;
}
2 小结
- #error用于自定义一条编译错误信息。
- #warning用于自定义一条编译警告信息。
- #error和#warning常应用于条件编译的情形。