Boost logo

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


#include <windows.h>

//#undef max
#include "boost/date_time/gregorian/gregorian.hpp"

void foo()

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.



Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at