template<typename T> T max_data(T &a, T &b)
{
return a > b ? a : b;
}
//----错误的
template<>const char * max_data<char>(const char *a, const char *b)
{
return strcmp(a, b) > 0 ? a : b;
}
//----正确的,需要&
template<>const char * max_data<char>(const char *&a, const char *&b)
{
return strcmp(a, b) > 0 ? a : b;
}