#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是指针
- C/C++ code
*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类型的引用,怎么会是指针呢?
应该分清引用和指针的区别。