头文件中NULL的定义有关问题
头文件中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>
里面有定义吧
[解决办法]那就直接用IDE批量替换成0
[解决办法]
<stddef.h>
里面有定义吧
在stdlib中有定义,我在自己整理的头文件中删掉了对NULL的定义,一旦我包含了自己整理的那个头文件,所有地方的NULL就不能用了。不清楚这个问题是我那个头文件中的什么地方引起的
既然系统头文件已经有了定义,你干嘛还要自己再定义个呢?
[解决办法]把这个,添加到,你的头文件,即可:
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void*)0)
#endif
#endif