我只定义了一个交换数值的函数,但是可以交换所有类型,为什么还需要模板?只定义了一个swap,它交换int、float和double都没有任何问题,还要模板干什么?void swap(int &rx,int &ry){int temp=rx;rx=ry;ry=temp;} string那么用的是stl的,你把swap都改个名字再试试看。