0
#include "boost/date_time/gregorian/gregorian.hpp"
int main()
{
boost::gregorian::greg_weekday dWeek(boost::date_time::Wednesday);
//Code One
// warning C4482: nonstandard extension used: enum 'boost::date_time::weekdays' used in qualified name
if (dWeek.as_enum()==boost::gregorian::greg_weekday::weekday_enum::Wednesday)
{
std::cout << "Today is Wednesday" << std::endl;
}
//class BOOST_DATE_TIME_DECL greg_weekday : public greg_weekday_rep {
//public:
// typedef boost::date_time::weekdays weekday_enum;
//Code Two
if (dWeek.as_enum()==boost::date_time::Wednesday)
{
std::cout << "Today is Wednesday" << std::endl;
}
}
问题的枚举项正确方法>我已经看到了使用一个代码做boost::date_time
比较万吨的代码。基于C++标准,枚举的用法不正确。我提供了一个解决方案代码二。指`的boost :: date_time`
有人能给我快看,看看它是否是正确的比较方式吗?
谢谢
号的boost ::阳历:: greg_weekday ::周三会导致错误C2039:“周三':不是'boost :: gregorian :: greg_weekday' – q0987 2012-04-11 15:43:03
@ q0987的成员抱歉,我的错,修复了它。我没有检查返回什么类型的as_enum()。 – 2012-04-11 16:13:22