要用NULL的话得包含什么文件?编译告诉我说NULL是undeclared identifier

stephon 2002-04-19 07:42:17
要用NULL的话得包含什么文件?编译告诉我说NULL是undeclared identifier
...全文
255 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
anrxhzh 2002-04-19
  • 打赏
  • 举报
回复
常量0在C++中具有特殊的含义,它的类型根据上下文而定,可以是整、浮点数、指针或者成员指针。在C中通常使用#define NULL 0来定义空指针,在C++中由于常量0的特殊意义,不推荐使用这种方式。在你这个例子中,basic_string 的构造函数要求的是字符串指针,故0代表空指针,所以在运行时会出现访问违例。如果是Wacro(const char* s ): s1(s), s2(1){}就会产生编译错误了。

上下文:http://www.csdn.net/expert/topic/654/654854.xml?temp=.76495


wiler 2002-04-19
  • 打赏
  • 举报
回复
在"stdio.h"里有定义
其实NULL 就是0.
招RD和QA 2002-04-19
  • 打赏
  • 举报
回复
你用的是什么编译器?
通常NULL是用在指针上,如果没有这个符号,用0就可以了。

char *p = 0;

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧