当前位置: 技术问答>linux和unix
求错误原因
来源: 互联网 发布时间:2017-01-23
本文导语: char *GetSysTime(void) { char *timeMsg; time_t timeval; (void)time(&timeval); if((timeMsg=ctime(&timeval))==NULL) //编译时此行警告 return NULL; else return timeMsg; } 警告内容: warning: assignment makes pointer from integer without a cast 这是...
char *GetSysTime(void)
{
char *timeMsg;
time_t timeval;
(void)time(&timeval);
if((timeMsg=ctime(&timeval))==NULL) //编译时此行警告
return NULL;
else
return timeMsg;
}
警告内容:
warning: assignment makes pointer from integer without a cast
这是《Linux程序设计》里面的代码,我man查看了time/ctime函数的类型,并没发现问题,求指点!!!
{
char *timeMsg;
time_t timeval;
(void)time(&timeval);
if((timeMsg=ctime(&timeval))==NULL) //编译时此行警告
return NULL;
else
return timeMsg;
}
警告内容:
warning: assignment makes pointer from integer without a cast
这是《Linux程序设计》里面的代码,我man查看了time/ctime函数的类型,并没发现问题,求指点!!!
|
我用-Wall选项编译运行这个程序:
#include
#include
char *GetSysTime(void)
{
char *timeMsg;
time_t timeval;
(void)time(&timeval);
if((timeMsg = ctime(&timeval)) == NULL)
return NULL;
else
return timeMsg;
}
int main(int argc, char *argv[])
{
printf("%sn", GetSysTime());
return 0;
}
结果编译运行结果都正常,没有警告;
warning: assignment makes pointer from integer without a cast
-------------------------------------------------------------
这个警告一般是由于使用了未经声明的函数原型(默认返回值为int型)产生的;
#include
#include
char *GetSysTime(void)
{
char *timeMsg;
time_t timeval;
(void)time(&timeval);
if((timeMsg = ctime(&timeval)) == NULL)
return NULL;
else
return timeMsg;
}
int main(int argc, char *argv[])
{
printf("%sn", GetSysTime());
return 0;
}
结果编译运行结果都正常,没有警告;
warning: assignment makes pointer from integer without a cast
-------------------------------------------------------------
这个警告一般是由于使用了未经声明的函数原型(默认返回值为int型)产生的;
|
我带-g -Wall选项编译没问题。
|
有没有包含头文件?
#include
#include