
boost version 2002-01-02 VC 7.1 Final Beta "error C2668: 'abs' : ambiguous call to overloaded function" when compile following code. The same code can be built successfully in vc6. Any suggestion are appreciated. #define DATE_TIME_INLINE #define BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG #include <iostream> #include <string> using namespace std; #include <boost/date_time/gregorian/gregorian.hpp> #include <boost/date_time/posix_time/posix_time.hpp> using namespace boost::gregorian; using namespace boost::posix_time; void testDateTime2() { date d(2002, Nov, 1); //an arbitrary date ptime t1(d, hours(5) + nanosec(100));//date + time of day offset ptime t2 = t1 - minutes(4)+seconds(2); ptime now = second_clock::local_time(); //use the clock //Get the date part out of the time date today = now.date(); date tommorrow = today + date_duration(1); ptime tommorrow_start(tommorrow); //midnight cout << "d is " << to_iso_extended_string(d) << endl; cout << "t1 is " << to_iso_extended_string(t1) << endl; cout << "t2 is " << to_iso_extended_string(t2) << endl; cout << "now is " << to_iso_extended_string(now) << endl; cout << "today is " << to_iso_extended_string(today) << endl; cout << "tommorrow is " << to_iso_extended_string(tommorrow) << endl; cout << "tommorrow_start is " << to_iso_extended_string(tommorrow_start) << endl; //starting at current time iterator adds by one hour time_iterator titr(now,hours(1)); for (; titr < tommorrow_start; ++titr) { cout << to_iso_extended_string(*titr) << endl; } } -- /*******************/ ×ÔÓÉ£šliberty£©ÎÞ·ÇŸÍÊÇÕâÑùÒ»ÖÖ³Ðŵ£ºÃ¿žöÈËœ«»áµÃµœÒ»ÖÖ±£ÕÏ£¬±£ÕÏÎÒÃÇ¿ÉÒÔÓë ÈšÍþ¡¢¶àÊý¡¢Á÷Ë׌°ÓßÂÛµÄÓ°ÏìÏ࿹ºâ¡£ /*******************/