怎么改正?谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/13 21:20:54
代码:
#include<iostream>
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(100,75);
cout<<myobject.getmax();
system("pause");
}

//错误提示:
C:\Dev-Cpp\cpp\Untitled11.cpp: In function `int main()':
C:\Dev-Cpp\cpp\Untitled11.cpp:21: error: `pair' undeclared (first use this function)
C:\Dev-Cpp\cpp\Untitled11.cpp:21: error: expected `;' before "myobject"
C:\Dev-Cpp\cpp\Untitled11.cpp:22: error: `myobject' undeclared (first use this function)
我主要是想知道模板使用

加个头文件
using namespace std;

晕。。。
你给我个内网IP能干嘛。。
还有,不要随随便便在网上公开这些资料
- -!

应该是编译器不同
所以模版的定义方式有些不同吧
我是用G++编译器
你是用DEV吧
=========================================

补充:怎么可能?我用G++编译器编译得过哦~
你模版使用上,一些语法规则写错了,我帮你改的那两处是主要的错误
======================================

#include<stdlib.h> //使用system函数必须包含的
#include<iostream>
using namespace std;

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<T>::getmax() //这里必须是pair<T>,你格式错误
{
T retval;
retval=value1>value2?value1:value2;
return retval;
}
int main()
{
pair<int> myobject(100,75); //定义类