2011-03-27 85 views
2
time_t raw_time = time(NULL); 
tm* current_time = localtime(&raw_time); 

我自己得到了答案......我完全搞砸了警告。不管怎麼說,還是要謝謝你。從time_t到const time_t的無效轉換*

+0

你可以發佈什麼答案是關閉你的票嗎?這個人做搜索可以看到答案。 – 2011-03-27 15:28:21

+0

當然!我將在下面發佈答案 – JASON 2011-03-28 03:12:08

回答

2

localtime需要一個參數「time_t *」,它是一個指針。所以你必須把&放在那裏。

4

localtime()函數的歷史可以追溯到(int)爲16位並且在堆棧上傳遞(long)時沒有得到廣泛支持;因此,它被指定通過(long *),這在當時是16位。它保持原樣,因爲改變它會破壞大量的代碼。你會發現大部分時間相關的功能都是這樣做的,因爲它們是使用(long)時唯一的功能。 (lseek()來得晚了。請注意猜測什麼非(long) -using函數替換它?)

+0

另外:您可以從中得出的一個結論是,他們*在未來幾年使用「(長)」的時候會提前思考 - 只是不夠遠。這並不重要,因爲考慮到「(很長)」有點危險,「(很長)」是不可能的。 – geekosaur 2011-03-27 06:26:24