C++ #error预处理指令
C++中的#error预处理指令,可以定义一条error信息,当在程序编译的预处理阶段遇到#error指令时,编译器便会停止对整个程序的编译(确切来说是在编译之前的预处理阶段就“决定”不对整个程序进行编译),并且会在终端或命令行工具中输出之前使用#error定义的那条error信息。
#error预处理指令一般可以同#if预处理指令搭配使用,即当#if预处理中的某个条件被满足时,或者被触发时,则停止程序的编译,并输出error信息。
#error的语法可参考如下:
#if conditionExpression
#error errorMessage
#endif
提示:#error定义的errorMessage一般为一个字符串。
C++ #error实例代码
如下实例代码,在C++的源文件中使用#if预处理指令和define()运算符判断HEIGHT宏是否被声明定义,如果不是,则使用#error预处理指令让程序退出编译,并抛出#error后的errorMessage:
#include <iostream>
using namespace std;
#if !defined(HEIGHT)
#error "HEIGHT宏未定义"
#endif
int main() {
return 0;
}
使用命令行编译如上代码时,编译器抛出:
error: #error "HEIGHT宏未定义"
免责声明:内容仅供参考,不保证正确性。 |