【发布时间】:2010-10-30 14:08:43
【问题描述】:
我收到编译器错误:(83) 错误:不正确的指针/整数组合:arg #1。
这是执行此操作的代码:
char boot_time[BUFSIZ];
... 第 83 行:
strftime(boot_time, sizeof(boot_time), "%b %e %H:%M", localtime(table[0].time));
其中 table 是一个结构,time 是一个 time_t 成员。
我读到“不正确的指针/整数组合”意味着函数未定义(因为在 C 中,函数在找不到时返回整数),通常的解决方案是包含一些库。 strftime() 和 localtime() 都在 time.h 中,而 sizeof() 在 string.h 中,我已经包含了这两个(连同 stdio.h)我在这里完全被难住了。
【问题讨论】:
-
吹毛求疵:sizeof 不是函数。它是一个 C 内置函数(关键字),并且没有在任何标题中定义。您也不需要括号,除非它们是参数的一部分(对于类型)。在本例中,只需写“sizeof boot_time”,因为您不需要类型的大小。