从time_t到const time_t *的无效转换

时间:2011-03-27 06:15:46

标签: c++

time_t raw_time = time(NULL);
tm* current_time = localtime(&raw_time);

我自己得到了答案......我完全搞砸了警告。不管怎样,谢谢。

2 个答案:

答案 0 :(得分:4)

localtime()函数可追溯到(int)为16位且在堆栈上传递(long)时未得到广泛支持;因此,它被指定通过(long *),当时是16位。它一直保留原样,因为更改它会破坏大量的代码。您会发现大多数与时间相关的函数都是这样做的,因为它们是使用(long)时唯一的函数。 (lseek()后来出现。小心猜测非(long) - 使用它取代的函数?)

答案 1 :(得分:2)

localtime需要一个“time_t *”参数,它是一个指针。所以你必须把&那里。