template<typename T> T maxValue(T& value1,T& value2,T& value3) { T tem=value1; if(value1<value2) tem=value2; if(tem<value3) tem=value3; return tem; } void main() { int a=1,b=2,c=3; cout<<maxValue(1,2,3);//编译错误,因为函数使用的引用,相当于int&t=1,是错误的,t并未分配空间,而1是无名常量,无法引用 }