首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

头文件中NULL的定义有关问题

2014-01-14 
头文件中NULL的定义问题最近需要把以前windows平台的代码一直到android平台,但是代码中使用了大量的window

头文件中NULL的定义问题
最近需要把以前windows平台的代码一直到android平台,但是代码中使用了大量的windows变量,于是就找到这些变量的定义,整理到一个头文件中使用。在代码编译过程中,总是在使用了NULL的地方出现问题,比如:

C:/android/android-ndk-r9c/platforms/android-16/arch-arm/usr/include/stdlib.h:83:30: error: expected primary-expression before ')' token
     return (strtod(nptr, NULL));
                              ^

现在整理的那个头文件里面相当乱,东西太多了。不知道是不是头文件得问题。哪位大神遇到过类似的问题没有,希望不吝赐教!
[解决办法]
#define NULL 0这样行吗
[解决办法]
<stddef.h>
里面有定义吧
[解决办法]
引用:
Quote: 引用:

#define NULL 0这样行吗

这样还是不行,除非我把所有的NULL换成0就好了

那就直接用IDE批量替换成0
[解决办法]
引用:
Quote: 引用:

<stddef.h>
里面有定义吧

在stdlib中有定义,我在自己整理的头文件中删掉了对NULL的定义,一旦我包含了自己整理的那个头文件,所有地方的NULL就不能用了。不清楚这个问题是我那个头文件中的什么地方引起的

既然系统头文件已经有了定义,你干嘛还要自己再定义个呢?
[解决办法]
把这个,添加到,你的头文件,即可:
#ifndef NULL
#ifdef __cplusplus
#define NULL  0
#else 
#define NULL ((void*)0)
#endif
#endif

热点排行