visual c++ (Microsoft Visual Studio)では、std::min(), std::max() が使えない場合がある。これは windows.h に昔から定義されている min、 max というマクロがあり、これと名前が衝突するため。
回避方法は
#define NOMINMAX #include <windows.h>
と NOMINMAX を定義してから #include
なお、プリコンパイルヘッダを使用している場合、たとえば stdafx.h ファイルが存在する場合は stdafx.h も忘れずに修正すること。