【发布时间】:2013-09-13 15:46:54
【问题描述】:
template< class CLOCK >
std::string print_date_time( typename CLOCK::time_point p_time ){
std::stringstream ss;
std::time_t t = CLOCK::to_time_t(p_time);
ss << std::ctime(&t) << std::endl;
return ss.str();
}
int main(){
std::cout << print_date_time( std::chrono::system_clock::now() );
}
我确实包含了正确的文件,让我知道哪里出错了。
【问题讨论】:
-
您应该详细说明您的问题。你如何调用函数,你从编译器得到什么错误,...
-
你怎么称呼它?它编译了吗?
-
基于对您的问题实际是什么的快速猜测(基本上与 cpp 的代码相同),您可以通过拼写模板类型或将签名更改为
std::string print_date_time( typename std::chrono::time_point<CLOCK> p_time )来修复它。还没有弄清楚细节 - 模板参数推导让我感到困惑。还有,你为什么要刷stringstream? -
或者,将
TIME_POINT设为模板参数,然后调用TIME_POINT::clock::to_time_t(p_time);。