23.6 #warning和#error指令

这两条指令的语法相同,后面都是跟一个字符串,表示消息内容,该字符串不需要使用双引号。区别是:

❑#warning指令后面的字符串表示警告消息,编译器将会借此产生一条警告消息。

❑#error指令后面的字符串表示错误信息,编译器将会借此产生一条错误消息。代码清单23-3将产生两条警告消息和一条错误消息。

代码清单23-3 #warning和#error指令代码示例


define DEBUG

using System;

namespace ProgrammingCSharp4

{

class Preprocessor

{

region Main

static void Main()

{

warning这是一条自定义的警告消息

if(DEBUG&&!SPECIAL)

error这是第1条错误消息

error这是第2条错误消息

endif

}

endregion

}

}


在上述代码中,#warning指令编译时就会产生一条警告消息,而#error指令只在#if结构中的"(DEBUG&&!SPECIAL)"表达式返回true时才产生两条错误消息。从代码来看,这个表达式应该返回true,因此也将产生两条错误消息,如图23-3所示。而且,这些警告或者错误消息和其他消息位于同一个列表中。

23.6 #warning和#error指令 - 图1

图 23-3 在Visual Studio 2010中显示的错误和警告消息