环境:ubuntu12.04LTS + kernel 3.2.0 + gcc 4.6.3
今天在编译程序时遇到一条警告信息:sqldb.c:190:21: warning: initialization makes pointer from integer without a cast [enabled by default]
将代码定位这这行代码:char *pDbName = GetDbname();
函数的返回值是char *,这个没有任何问题。同时检查也包含了对用头文件,多次检测后代码没有任何问题,但是编译时始终出现这条警告信息。
最后检查才发现原来是函数本身在.c文件中有定义,但是在.h文件中忘记声明了。