博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#undef
阅读量:6200 次
发布时间:2019-06-21

本文共 487 字,大约阅读时间需要 1 分钟。

#undef 是在后面取消以前定义的

 

  该指令的形式为

 

  #undef

 

  其中,标识符是一个宏名称。如果标识符当前没有被定义成一个宏名称,那么就会忽略该指令。

 

  一旦定义预处理器标识符,它将保持已定义状态且在作用域内,直到程序结束或者使用#undef 指令取消定义。

 

  在此程序中,我们将取消在先前程序中对预处理器的定义。

 

  #include <>

 

  #include<>

 

  MAX 5

 

  #undef MAX

 

  void main()

 

  {

 

  char name[MAX]="abcde"; //只能用abcd,否则会提示说超出长度,原因大概是"\0"字符

 

  cout<<"MAX = "<<MAX<<endl;

 

  for(int i=0;i<MAX;i++)

 

  cout<<name<<" "<<endl;

 

  }

 

  得到如下错误消息

 

  未定义符号 'MAX'

 

  初始值设定项太多

 

  在此程序中对 MAX 定义后又取消了定义。编译该程序时报错。由于未定义 MAX,char name[MAX] 的大小不可用,因此发出第二个错误消息。

转载地址:http://bvtca.baihongyu.com/

你可能感兴趣的文章
Android应用程序消息处理机制(Looper、Handler)分析(4)
查看>>
C++ 类成员的构造和析构顺序
查看>>
将String转化成Stream,将Stream转换成String
查看>>
java路径Java开发中获得非Web项目的当前项目路径
查看>>
Google API设计指南-资源名称
查看>>
最全React技术栈技术资料汇总(收藏)
查看>>
bat文件的一些小技巧
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
flex 学习笔记 stage
查看>>
Kali-linux Arpspoof工具
查看>>
java中三个类别加载器的关系以及各自加载的类的范围
查看>>
PDF文档页面如何重新排版?
查看>>
基于http协议使用protobuf进行前后端交互
查看>>
python3 + Django + uwsgi + nginx 配置部署笔记
查看>>
UML设计一个电影票务销售系统(四)
查看>>
如何给VEEAM 7 分配角色权限
查看>>
AlphaGo Zero用它来调参?【高斯过程】到底有何过人之处?
查看>>
《Redis官方教程》Redis集群规范(二)
查看>>
MacOS必备软件
查看>>
卸载金蝶kis记账王的方法
查看>>