c++ - C/C++ 中的#error 是如何工作的?

标签 c++ c c-preprocessor

我从 # 猜测它只是一个编译时实用程序。如何在 C/C++ 程序中使用它?

在互联网上没有找到太多关于它的信息。任何链接都会有所帮助。

最佳答案

它会导致编译器(或预处理器)输出错误消息。在 C++ 中,它还会呈现格式错误的翻译单元(即,它会导致编译失败)。

如果您有多个可以定义的宏,并且您想确保只定义了它们的某些组合,您可以使用 #error 在定义了无效组合时导致编译失败.

如果您想确保某些代码块永远不会被编译(无论出于何种原因),它也很有用。

关于c++ - C/C++ 中的#error 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2795609/

相关文章:

c++ - 无法在 VS2017 中包含 rapidjson 库

c - -> 运算符在 C 中起什么作用?

c - 对于这种特殊情况,我应该使用自旋锁还是互斥锁?

c - 范围从 0 到 255 的整数

c++ - 在预处理器指令中使用模板参数?

c++ - 错误报告知道它在代码中的位置

c - #ifdef _CH_ 预处理器指令在 C 中的作用是什么?

c++ - Lua Wrapper 类 - 通过 DLL 向 Lua 公开 C++ 静态方法

C++:使用抽象类的指针访问派生类的方法;派生类似乎也是抽象的

可能由 if 语句引起的 C++ bool 逻辑错误