Domanda

La pagina

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

spiega che è possibile inizializzare un rel="nofollow Boost data con questo tipo di chiamata :

date d(2002, Jan, 10);

Ma quando provo che, il compilatore non sa 'Jan'.

E 'funziona con:

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)
    {
        ...
    }
}
È stato utile?

Soluzione

Forse vi siete persi compreso di namespace necessario? Non posso dire quale esattamente, perché non hai postare intero codice, ma posso supporre che possa essere qualcosa di simile:

using namespace boost::gregorian;

o

using namespace boost::date_time;

Aggiornamento:

defenition di Jan:

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

Altri suggerimenti

OK, ho trovato la soluzione (sciocco): Ho appena dimenticato di collegare date_time alla mia libreria ...

Per quanto alcune parti del boost :: date_time non richiedono un collegamento esplicito, hanno lavorato. È per questo che non ha esplorato in questo modo.

Grazie Jan per aiuto e l'enumerazione!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top