2010在win7遇到一个奇怪的有关问题

2010在win7遇到一个奇怪的问题
max和min函数,查看帮助,包含这两个均可
#include <algorithm>
#include <stdlib.h>
可是我包含这两个头文件 ,编器还是认为max和 min未定义,怎么解决?
------解决方案--------------------
stdlib.h这里边有定义,是不是在哪里控制宏定义呢

#define randomize() srand((unsigned)time(NULL))
#ifndef max
#define max(__a,__b)    (((__a) > (__b)) ? (__a) : (__b))
#endif
#ifndef min
#define min(__a,__b)    (((__a) < (__b)) ? (__a) : (__b))
#endif

------解决方案--------------------
STL中定义了max和min,所以既然你包含了algorithm头文件,就用STL中的max和min好了,加一行代码即可:

#include <algorithm>
#include <stdlib.h>
using namespace std;

或者不嫌麻烦的在每个min和max的前面加上std:: 2010在win7遇到一个奇怪的有关问题
------解决方案--------------------
std::
------解决方案--------------------
stdlib.h中的max和min定义在std里面,并且有一大堆编译条件
要加上
#define __MFC_COMPAT__
#include <stdlib.h>

void func() {
  ....
  n = std::max(n1, n2);
  double ee = std::max<double>(v1, v2);
  ...
}

才能用
至于加上#define __MFC_COMPAT__后的其它副作用就不好说了