-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Andy Moreton on 9/27/2005 7:58 AM: >>> >>> #include <iostream> >>> #include <windows.h> >>>+#undef max >>>+#undef min >>> #include <complex> >> >> > > The problem is that "windows.h" includes "windef.h" which defines the > standard macros min() and max() without checking if they are already > defined.
Actually, <windef.h> DOES check if min and max are already defined before defining them. But <complex> uses std::max, which won't work if max is a macro. The correct fix, in my opinion, would be to update windef.h to not define min and max if __cplusplus is defined, since C++ is much less forgiving of min and max being macros in the first place (in other words, min and max as macros only works in C). But where does upstream windef.h live, to propose a patch to it? - -- Life is short - so eat dessert first! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDOpBT84KuGfSFAYARAn3xAKDOiEUXCr0Z4eo4xqn9DyEkY11WmQCfYQ7b 06I3fPYha6SC3N310yV79TI= =pG39 -----END PGP SIGNATURE----- -- 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/