gpt4 book ai didi

c++ - 使用 system_clock::to_time_t 的持久性 time_t 警告

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:41:38 27 4
gpt4 key购买 nike

我在下面编写的函数是尝试允许 32 位和 64 位时间并努力变得更加灵活。我一直收到关于数据转换丢失的警告,这不太合理。

time_t now()
{
using namespace std::chrono;

system_clock::time_point time_point = system_clock::now();
time_t now_time = system_clock::to_time_t(time_point);
return now_time; //warning appears here
}

警告:warning C4244: '=': conversion from '__time64_t' to 'time_t', possible loss of data在 to_time_t 上找到。我感到困惑的是 cppreference 指示 to_time_t 返回一个 time_t,但是当我导航到实际函数时,它指示它被强制为 64 位时间。

那么,知道是什么原因造成的吗?此外,我对获取系统时间和返回 time_t 的更简洁的实现持开放态度。

我还想补充一点,该示例与此处找到的内容相匹配: cppreference

最佳答案

这很可能是您遇到了 MSVC 2015 的记录错误。坏消息是它已记录在现已停用的 Microsoft Connect 中。

它位于 url https://connect.microsoft.com/VisualStudio/feedback/details/1355735/breaking-change-in-vs-2015-chrono-steady-clock-time-point-not-longer-convertible-to-system-clock-time-point (死的);报告于 05/22/15--06:42。

关于c++ - 使用 system_clock::to_time_t 的持久性 time_t 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48811380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com