编译出错,解决不了啊

#include <iostream.h>
template <class T> class pair {
     T value1, value2;
public:
    pair (T first, T second) {
        value1=first;
        value2=second;
    }
    T getmax ();
};

template <class T>
T pair::getmax (){
    T retval;
    retval = value1>value2? value1 : value2;
    return retval;
}

int main () {
    pair myobject (10, 5);
    cout << myobject.getmax();
    return 0;
}

 

1.c++标准库中有 pair 模板,因此你定义的这个类需要改一个名字XXX

2. T XXX::getmax(){

这一句改为

T XXX<T>::getmax(){

3.pair myobject(10, 5);

这一句改为

pair<int> myobject(10, 5);