问题描述
在下面的代码中,尝试将 time_point
打印到控制台时出现错误。如果我将 operator<<
移到 my_namespace
之外,它就会消失。为什么是这样?我必须在全局命名空间中定义我的 operator<<
函数吗?
#include <iostream>
#include <chrono>
#include <date/date.h>
namespace my_namespace {
std::ostream &operator<<(std::ostream &os,const std::chrono::system_clock::time_point &time_point) {
return os << date::format(
"%F %T\n",std::chrono::time_point_cast<std::chrono::milliseconds>(time_point));
}
}
int main() {
std::chrono::system_clock::time_point time_point{
std::chrono::milliseconds{1000}};
std::cout << time_point;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)