概述
在写关于时间函数的程序中,报错called object is not a function,函数代码如下
void GetLocalTime()
{
char localtime[20];
int year,month,date,hour,minute,second;
time_t timep;
struct tm *p;
time(&timep);
p = localtime(&timep); //called object is not a function
year = 1900+p->tm_year;
month = 1 + p -> tm_mon;
date = p -> tm_mday;
hour = p -> tm_hour;
minute = p -> tm_min;
second = p -> tm_sec;
sprintf(localtime,"%d:%d:%d %d/%d/%d",
hour, minute, second,date,month,year);
}
表面上程序似乎没错误,但细心就回发现,定义的char型数组名为localtime,这样会将指定为函数的localtime( p = localtime(&timep);)改变成指到一个数组的指针,只需将数组名改为localtime1或其他即可。
大家有时也习惯通过char *time来定义一个字符指针,这样会报相同的错误,原因是指针time会与time()函数发生冲突。导致time函数被屏蔽掉。
最后
以上就是调皮香水为你收集整理的called object is not a function取时间报错的原因的全部内容,希望文章能够帮你解决called object is not a function取时间报错的原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复