#define NOMINMAX using std::min/max

c++, visual-studio, winapi

Solution

If you're really desperate, put parentheses around the function names:

(std::min)(x, y);

This syntax won't apply a function-like macro. (Formally, to apply a function-like macro the name of the macro must be followed by optional white space then a '('.)

Problem

i recently added: ``` #define NOMINMAX #include <Windows.h> #include <algorithm> ``` to my main.cpp in order to use ``` std::max( x , x ); // x is just a placeholder and not actual anything std::min( x , x ); ``` but i can't use `std::max()/std::min()` in other files. ``` error C2589: '(' : illegal token on right side of '::' error C2059: syntax error : '::' ``` i tried to add `#define NOMINMAX` in my other files, but fails. what is the clue? i looked around before asking, but i don't understand the answer Possible problems with NOMINMAX on Visual C++

Original source

Related problems