#error用法

#error命令是C/C++语言的预处理命令之一,当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。

语法:

  #error [用户自定义的错误消息]

注:上述语法成份中的方括号“[]”代表用户自定义的错误消息可以省略不写。

举例1:

#error Sorry,an error has occurred!

举例2:

 1 #error
 2 用法示例:
 3 /*
 4 *检查编译此源文件的编译器是不是C++编译器
 5 *如果使用的是C语言编译器则执行#error命令
 6 *如果使用的是 C++ 编译器则跳过#error命令
 7 */
 8 #ifndef __cplusplus
 9 #error //亲,您当前使用的不是C++编译器噢!
10 #endif
11 #include <stdio.h>
12 int main()
13 {
14 printf("Hello,World!");
15 return 0;
16 }
时间: 2024-10-13 14:07:56

#error用法的相关文章

SQL Server @@ERROR 用法

@@error是系统函数,当没有发生错误时返回0,如果发生错误时@@error<>0,并返回错误号,每个SQL语句执行完,@@error值都会变. @@error只记录当前错误,如果存储过程执行多个操作,就要每次都判读@@error是否出现错误,比较麻烦.今天就遇到这个问题了,下面是一个简单的例子,就可以解决这个问题. create  proc proc_Test--根据ID修改表@id int ,          --id@name varchar(20)   --名字asbegin tr

C++ &quot;#&quot;的作用和用法

本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/48879093 1 #和##的作用和用法 C/C++ 的宏中,#的功能是将其后面的宏参数进行字符串化操作,简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号.##连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串联接起来,从而形成一个新的子串.但它不可以是第一个或者最后一个子串. #include <iostrea

程序猿之--C语言细节15(预处理命令细节#error、运算符#和##、__FILE__、__LINE__)

主要内容:预处理命令细节#error.运算符#和##.__FILE__.__LINE__ #include <stdio.h> /* 包含这个头文件,并不是将其所有函数都链接进程序*/ /* ##运算符 */ #define MK_ID(n) i##n /* 表示将两个记号连接 */ int MK_ID(1), MK_ID(2),MK_ID(3); /* 预处理后变成int i1,i2,i3;*/ /* 定义多个type##_max函数,函数返回类型和参数类型用define决定 * 如GENE

javascript或node中的console用法总结

1 //建立app.js页面 2 // 一:页面代码 3 console.log("log信息"); 4 //在页面中执行(node app.js)这个文件会在控制台中看到log信息:"log信息" 5 //换个方式执行:node app.js 1>info.txt(1代表重定向标准输出流); 6 //这个时候会在app.js的同级目录下看到一个info.txt文件,里面还有"log信息". 7 8 //二:依次序输出所有字符串 9 con

实战:INNOBACKUPEX for mysql 5.6自己主动还原脚本-v2

脚本再次更新,共享一下! #!/bin/sh # # 用法: # ./restore.sh /你备份文件的全路径 #[email protected] INNOBACKUPEX=innobackupex INNOBACKUPEX_PATH=/usr/bin/$INNOBACKUPEX TMP_LOG="/var/log/restore.$$.log" MY_CNF=/usr/local/mysql/my.cnf BACKUP_DIR=/backup # 你的备份主文件夹 FULLBAC

Runtime.exec() sucks!!!!

自己项目中使用到了 Runtime rt = Runtime.getRuntime(); Process p = rt.exec("query session");p.waitFor(); 结果在不同的windows 操作系统中,程序的运行不一致,在windows server 2008上可以很好的运行,但是到了windows7上去卡死了!!!!!!!!!!!!!!!!!!!!!! p.waitFor() 卡死了或者报错: [ERROR] xxxxx Thread-0 - Cannot

nj08---process、console

概念:所有属性都可以在程序的任何地方访问,即全局变量.在JavaScript中,通常window是全局对象,而Node.js的全局对象是global,所有全局变量都是global对象的属性,如:console.process等. 一.全局对象与全局变量 global最根本的作用是作为全局变量的宿主.满足以下条件成为全局变量: 1.在最外层定义的变量 2.全局对象的属性 3.隐式定义的变量(未定义直接赋值的变量) 在Node.js中不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块

Angular Js总结(一)

创建自定义指令 使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive: <body ng-app="myApp"><runoob-directive></runoob-directive><script>var app = angular.module("myApp", []);app.directive("runoobDirectiv

Boost::Asio::Error的用法浅析

一般而言我们创建用于接收error的类型大多声明如下: boost::system::error_code error 我们用这个类型去接受在函数中产生的错误 如 socket.connect( endpoint, error); 如果连接失败,错误类型会保存到error中,比如连接主机失败可能会返回这样的错误 boost::asio::error::host_not_found; 通过if (error)检测到error后,抛出异常 throw boost::system::system_er