vs2008里std::min求出的是较大值
#include <iostream>
#include <algorithm>
int main()
{
int x=15;
int y=55;
int *px=&x;
int *py=&y;
int *pmax;
pmax=std::max(px,py);
std::cout<<*pmax<<std::endl;
return 0;
}
打印出的结果是15,为什么?
[解决办法]
px,py是指针
*pmax=std::max(*px,*py);
[解决办法]
template <class T>
inline const T& max(const T&a,const T&b)
{
return a <b?a:b;
}
=======================
max函数中参数传递的是T类型的引用,怎么会是指针呢?
应该分清引用和指针的区别。