std::chrono::steady_clock::now() - start_time <= 2s 显示2s报错是什么原因
时间: 2023-08-06 20:10:04 浏览: 143
C++11中的时间库std::chrono(引发关于时间的思考)
这个错误可能是因为 C++ 中的 `2s` 字面值被解释为 `std::chrono::seconds` 类型,但是 `steady_clock::now()` 返回的是 `std::chrono::time_point` 类型,所以无法比较两者之间的大小关系。
为了解决这个问题,您可以将 `2s` 显式转换为 `std::chrono::time_point` 类型,例如:
```
std::chrono::steady_clock::time_point end_time = start_time + std::chrono::seconds(2);
if (std::chrono::steady_clock::now() <= end_time) {
// do something
}
```
这样就能够正确比较时间了。
阅读全文