gpt4 book ai didi

c++ - 如何使用 Howard Hinnant 的 date.h 以单位打印 `chrono` 持续时间?

转载 作者:行者123 更新时间:2023-12-04 15:05:37 27 4
gpt4 key购买 nike

我有以下玩具代码:

#include "date/date.h"
#include <iostream>

using namespace std;
using namespace chrono;

int main() {
cout << microseconds(100);
};

但是,它不起作用,因为:

C2679: binary '<<': no operator found which takes a right-hand operand of type 'std::chrono::milliseconds' (or there is no acceptable conversion)

但是docs对于 date.h列出规范:

template <class CharT, class Traits, class Rep, class Period>
std::basic_ostream<CharT, Traits>&
operator<<(std::basic_ostream<CharT, Traits>& os,
const std::chrono::duration<Rep, Period>& d);

将使用get_units输出适当的单位。

那么,我该如何正确使用这个重载的 <<运营商?

最佳答案

那个operator<<date 里面命名空间。由于两种操作数类型都不是来自此命名空间,因此依赖于参数的查找将找不到它。

要使用它,您需要 using namespace dateusing date::operator<< .

代码中的另一个问题是 microseconds只能从整数类型构造,不能从 float 构造。

关于c++ - 如何使用 Howard Hinnant 的 date.h 以单位打印 `chrono` 持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66201626/

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