Как инициализировать дату повышения? - PullRequest
0 голосов
/ 18 февраля 2010

Страница

http://www.boost.org/doc/libs/1_42_0/doc/html/date_time/gregorian.html#date_construction

объясняет, что вы можете инициализировать Boost дату с помощью этого вида вызова:

date d(2002, Jan, 10);

Но когда я пытаюсь это сделать, компилятор не знает 'Jan'.

Работает с:

date d(2002, 1, 10);

EDIT:

#include <boost/date_time/gregorian/gregorian.hpp>
..
{
    using namespace boost::gregorian;

    date limit_date(2010,Apr,1);
    date fake_date(2010,2,1);

    if (fake_date>limit_date)
    {
        ...
    }
}

Ответы [ 2 ]

0 голосов
/ 19 февраля 2010

ОК, я нашел (глупое) решение: я просто забыл связать date_time с моей собственной библиотекой ...

Поскольку некоторые части boost :: date_time не требуют явного связывания, они работали. Вот почему я не исследовал этот путь.

Спасибо Ян за помощь и перечисление!

0 голосов
/ 18 февраля 2010

Может быть, вы пропустили включение необходимого пространства имен? Я не могу сказать, какой именно, потому что вы не опубликовали весь код, но я могу предположить, что это может быть что-то вроде:

using namespace boost::gregorian;

или

using namespace boost::date_time;

Обновление:

Определение Яна:

namespace boost {
namespace date_time {

  //! An enumeration of weekday names
  enum weekdays {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

  //! Simple enum to allow for nice programming with Jan, Feb, etc
  enum months_of_year {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,NotAMonth,NumMonths};

} } //namespace date_time
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...