On Mon, 26 Sep 2005 21:41:29 GMT, Angelo Graziosi wrote: > > > Dave Korn wrote: > > >> You can fix it like this: >> >> [EMAIL PROTECTED] /test/cplus> g++ test.fixed.cpp -o test >> [EMAIL PROTECTED] /test/cplus> diff -pu test.cpp test.fixed.cpp >> --- test.cpp 2005-09-26 10:52:37.405042000 +0100 >> +++ test.fixed.cpp 2005-09-26 10:52:26.555119000 +0100 >> @@ -1,6 +1,8 @@ >> >> #include <iostream> >> #include <windows.h> >> +#undef max >> +#undef min >> #include <complex> > > > Thanks, Dave, for the patch. > > I would know if there is some bug somewhere: it sounds strange that moving > the header 'windows.h' at the beginning or at the end of includes > sequence, the build works fine.
The problem is that "windows.h" includes "windef.h" which defines the standard macros min() and max() without checking if they are already defined. You can prevent this behaviour by doing: //.... #define NOMINMAX #include "windows.h" //.... This will prevent the macros from being (illegally) defined twice with differing contents. AndyM -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/