【发布时间】:2016-07-07 10:52:39
【问题描述】:
我在文件中的第一行是:
#define DEBUG
在我的程序中,我将此变量用作:
#region Preprocessor directives
#if DEBUG
#error DEBUG is defined
#endif
#endregion
编译时出现此错误:#error: 'DEBUG is defined'。
我是不是搞错了什么?
【问题讨论】:
-
这正是你定义的......你的预处理器指令基本上可以被解读为“当设置调试时显示错误'调试已定义'”。所以这表现得像它应该的那样(即显示错误)。你想做什么,具体的问题是什么?
-
好的。我误解了#error 指令的用法。我认为它用于在运行时引发定义的错误。但现在正如我从您上面的评论中所暗示的那样:#error 指令用于引发编译时错误。对吗?
-
是的,正如您在下面的 MSDN 链接中看到的那样,它旨在让您
generate an error from a specific location in your code:https://msdn.microsoft.com/en-us/library/x5hedts0.aspx(我也会在一分钟内将其作为答案发布)跨度>