Visual C++で、std::min, std::max を使う方法。

visual c++ (Microsoft Visual Studio)では、std::min(), std::max() が使えない場合がある。これは windows.h に昔から定義されている min、 max というマクロがあり、これと名前が衝突するため。

回避方法は

#define NOMINMAX 
#include <windows.h>

と NOMINMAX を定義してから #include とすれば良い。

なお、プリコンパイルヘッダを使用している場合、たとえば stdafx.h ファイルが存在する場合は stdafx.h も忘れずに修正すること。