打印
[其它应用]

C++ #error预处理指令输出错误信息

[复制链接]
395|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 | 只看该作者
这个可以做什么用啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

980

主题

4028

帖子

10

粉丝