我正在尝试使用 C++ Boost 库 v1.41 的日期/时间工具。(注意:这是 Linux,不是 Windows;g++ v4.4.7)
代码:
#include <boost/date_time/posix_time/posix_time.hpp>
using boost::posix_time::ptime;
using boost::date_time::microsec_clock;
:
t1 = (boost::date_time::microsec_clock::local_time()); // line 208
错误:
tom.cpp:208: error: 'template<class time_type> class boost::date_time::microsec_clock' used without template parameters
现在,在 boost/date_time/posix_time/posix_time_types.hpp 中有这个:
#ifdef BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK
//! A time clock that has a resolution of one microsecond
/*! \ingroup time_basics
*/
typedef date_time::microsec_clock<ptime> microsec_clock;
#endif
我的结论是 BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK 未定义,导致 typedef 永远不会发生,导致对“microsec_clock”的引用看起来需要模板参数。
据我所知,我严格遵守Boost date_time 文档。有任何想法吗?