[其它应用] C++ #error预处理指令输出错误信息

[复制链接]
1508|1
 楼主| laocuo1142 发表于 2024-4-19 09:00 | 显示全部楼层 |阅读模式
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宏未定义"
免责声明:内容仅供参考,不保证正确性。
亚瑟 发表于 2024-4-23 14:10 来自手机 | 显示全部楼层
这个可以做什么用啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6239

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部