提升日期之前缺少模板参数

boost date missing template arguments before

我在使用 boost 编译一个简单的日期解析测试时得到一个 missing template arguments,代码如下:

#include "boost/date_time/gregorian/gregorian.hpp"
#include "boost/date_time/gregorian/parsers.hpp"

boost::date_time::date test = boost::gregorian::from_us_string("07-Sep-2010");

并且编译器抱怨 error: missing template arguments before ‘test’ boost::date_time::date test = boost::gregorian::from_us_string("07-Sep-2010");

我不明白我应该提供什么模板参数或者为什么我应该首先提供模板参数。对我来说,样板代码似乎有点多:)

应该是boost::gregorian::date而不是boost::date_time::date。 除此之外,您可以使用

auto test = boost::gregorian::from_us_string("07-Sep-2010");

如果您使用的是 C++11。