It seems Boost uses a "trick": every use of the function I see in their sources is in the form
(std::numeric_limits <...>::max) ()
rather than
std::numeric_limits <...>::max ()
I.e. they add parens that have no syntactic significance but (I guess) stop preprocessor from seeing this as a macro invocation.
Can you please verify if it solves the problem on VC++? I like this much better than #undef, which messes with non-MCT namespace...
It seems Boost uses a "trick": every use of the function I see in their sources is in the form
(std: :numeric_ limits <...>::max) ()
rather than
std: :numeric_ limits <...>::max ()
I.e. they add parens that have no syntactic significance but (I guess) stop preprocessor from seeing this as a macro invocation.
Can you please verify if it solves the problem on VC++? I like this much better than #undef, which messes with non-MCT namespace...