从time_t到const time_t的无效转换*
问题描述:
time_t raw_time = time(NULL);
tm* current_time = localtime(&raw_time);
我自己得到了答案......我完全搞砸了警告。不管怎么说,还是要谢谢你。从time_t到const time_t的无效转换*
答
localtime需要一个参数“time_t *”,它是一个指针。所以你必须把&放在那里。
答
localtime()
函数的历史可以追溯到(int)
为16位并且在堆栈上传递(long)
时没有得到广泛支持;因此,它被指定通过(long *)
,这在当时是16位。它保持原样,因为改变它会破坏大量的代码。你会发现大部分时间相关的功能都是这样做的,因为它们是使用(long)
时唯一的功能。 (lseek()
来得晚了。请注意猜测什么非(long)
-using函数替换它?)
+0
另外:您可以从中得出的一个结论是,他们*在未来几年使用“(长)”的时候会提前思考 - 只是不够远。这并不重要,因为考虑到“(很长)”有点危险,“(很长)”是不可能的。 – geekosaur 2011-03-27 06:26:24
你可以发布什么答案是关闭你的票吗?这个人做搜索可以看到答案。 – 2011-03-27 15:28:21
当然!我将在下面发布答案 – JASON 2011-03-28 03:12:08