|
Boost Users : |
Subject: [Boost-users] Problem with MSVS 2008 with gregorian
From: Dan Smithers (dan_at_[hidden])
Date: 2008-11-14 10:20:31
Hi I have a problem building under studio 2008. It appears that
#define max(a,b) ...
collides with the member function greg_month::max() and won't compile
complaining that not enough arguments are provided.
I have stripped the code down
test.cpp
#include <windows.h>
//#undef max
#include "boost/date_time/gregorian/gregorian.hpp"
void foo()
{
boost::gregorian::greg_month::max();
}
If I put #undef max before including gregorian.h then it compiles.
Without I get the errors
warning C4003: not enough actual parameters for macro 'max'
error C2589: '(' illegal token on right side of '::'
error C2143: syntax error : missing ';' before '::'
Has anyone seen this before?
Is there a workaround?
I have tried this with boost 1.37.0 and it still causes problems.
thanks
dan
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net