On Tue, 30 Nov 2004 17:49:27 -0800, Eric Niebler wrote
Dan Dimerman wrote:
The warning reads: C:\Boost\include\boost-1_32\boost\date_time\gregorian\greg_facet.hpp(293) : warning C4003: not enough actual parameters for macro 'max'
This is a date_time bug. Boost has guidelines for avoiding clashes with the min/max macros, which you can read at http://boost.org/more/lib_guide.htm.
Yes, I'm afraid you are right -- we apparently missed this after you made the other boost min/max changes :-( Sadly non of our regression procedures caught this and if your primary test platform isn't Windows it's an easy mistake to make...
Requiring users to #define NOMINMAX is not satisfatory. Sadly, there are 3rd party libraries, and even platform headers, that depend on those macros. To play well in the real world, Boost headers should compile cleanly even in the presence of the min/max macros.
.rant on While I understand your point, I think we should push for reform in Redmond. 99.9% of the folks at MS know better than this, but we (the users) always have to deal with the 0.1 percent that do stupid stuff like this. Same thing goes with the DLL definitions. If MS wanted to, they could easily eliminate the requirement that classes to be exported be written with macros (eg: class SOME_MS_MACRO_MAGIC foo) and just fix the tools to allow external definitions of dll linking. I'm sick of wasting my time dealing with non-standard MS requirements. So I say, submit your bug reports to Wa. .rant off Jeff ps: I'm not an MS hater, except when they waste my time...