【发布时间】:2015-03-18 16:07:31
【问题描述】:
我仍在学习 C++ 中的类型转换,目前正在这样做
long int t = time(NULL);
我正在使用 VS2013 并注意到从 'time_t' 到 'long' 警告的转换,所以我想我会键入它的样子;
long int t = static_cast<long int> time(NULL);
然而这还不行,结合静态转换和 C 风格转换工作
long int t = static_cast<long int> (time(NULL));
我只是想知道是否有人可以帮助阐明这一点?
【问题讨论】:
-
你想完成什么?
-
这不是“结合静态转换和 C 风格转换”,它只是静态转换的正确语法,它的参数需要
()。 -
谢谢,我完全错过了将静态转换值放在括号中的要求。我没有学到什么新东西。
-
不仅将结果限制在
long的范围内,这仍然(截至 2014 年)会给您留下许多年的未来日期,您可以转换为unsigned char,将该时间间隔缩短为255 秒到 1970 年。 -
啊谢谢,我没想到