一道例题,为什么运行结果不对?
#include<iostream>
using namespace std;
template<class T>
T max(T m1,T m2)
{return (m1>m2)?m1:m2;}
void main( ) {
cout<<max(2,5)<< "\t"<<max(2.0,5.0)<<endl;
cout<<max("y","b")<<"\t"<<max("c","d")<<endl;
}
运行结果是:
5 5
b d
y比d大,为什么不是这个结果:
5 5
y d
刚问过这倒例题,因为m1和ml写混了,所以没通过编译。但是现在为什么运行结果又不对了?请高手运行一下帮助找错。谢谢了!
[解决办法]
'y' 不是“y"
[解决办法]
你去把"ABC"和"ABD"换一下位置,结果是"ABC",它比较的是字符串,是地址,不是内容