class mypair {
T a, b;
public:
mypair (T first, T second)
{a=first; b=second;}
T getmax ();
};
template <class T>
T mypair<T>::getmax ()
{
T retval;
retval = a>b? a : b;
return retval;
}
int main () {
int i;
cin>>i;
if(i==0)
mypair <int> myobject (100, 75);
else
mypair <float> myobject (100, 75);
cout << myobject.getmax();
return 0;
}
我想根据 i 的值创建模板类的单个对象。如果 i 的值为 0,则创建数据类型为 int 的模板类,否则为 float。上面的程序在我调用 getmax 函数的第二行的最后一行中抛出了一个错误“myobject”没有在这个范围内声明。
我怎样才能做到这一点>