c++模板定义及编译
1#include2usingnamespacestd;34templateclassseqList{5staticconstintdefaultSize=10;//顺序...
1 #include2 using namespace std;
3
4 templateclass seqList{
5 static const int defaultSize = 10;//顺序表默认存储大小
6 DtaeType* pElements;//顺序表地址
7 int maxSize;//顺序表最大存储容量
8 int length;//顺序表中有效元素个数
9 public:
10 seqList(int size = defaultSize)
11 :maxSize(size), length(0)
12 {
13 pElements = new DataType[maxSize];
14 }
15 ~seqList()
16 {
17 delete[] pElements;
18 }
19 };
20
21 int main()
22 {
23 seqListseqlist;
24
25 return 0;
26 }
以上是代码,以下是编译方法及结果
ds_c++$g++ 01seqList.cpp
01seqList.cpp:6:5: 错误: ‘DtaeType’不是一个类型名
01seqList.cpp: 在构造函数‘seqList::seqList(int)’中:
01seqList.cpp:13:9: 错误: ‘pElements’在此作用域中尚未声明
01seqList.cpp: 在析构函数‘seqList::~seqList()’中:
01seqList.cpp:17:18: 错误: ‘pElements’在此作用域中尚未声明
求解,是我定义 模板方法有问题还是编译方法有问题? 展开
3
4 templateclass seqList{
5 static const int defaultSize = 10;//顺序表默认存储大小
6 DtaeType* pElements;//顺序表地址
7 int maxSize;//顺序表最大存储容量
8 int length;//顺序表中有效元素个数
9 public:
10 seqList(int size = defaultSize)
11 :maxSize(size), length(0)
12 {
13 pElements = new DataType[maxSize];
14 }
15 ~seqList()
16 {
17 delete[] pElements;
18 }
19 };
20
21 int main()
22 {
23 seqListseqlist;
24
25 return 0;
26 }
以上是代码,以下是编译方法及结果
ds_c++$g++ 01seqList.cpp
01seqList.cpp:6:5: 错误: ‘DtaeType’不是一个类型名
01seqList.cpp: 在构造函数‘seqList::seqList(int)’中:
01seqList.cpp:13:9: 错误: ‘pElements’在此作用域中尚未声明
01seqList.cpp: 在析构函数‘seqList::~seqList()’中:
01seqList.cpp:17:18: 错误: ‘pElements’在此作用域中尚未声明
求解,是我定义 模板方法有问题还是编译方法有问题? 展开
展开全部
template <class DtaeType>
class seqList
{
static const int defaultSize = 10;//顺序表默认存储大小
DtaeType* pElements;//顺序表地址
int maxSize;//顺序表最大存储容量
int length;//顺序表中有效元素个数
public:
seqList(int size = defaultSize)
:maxSize(size), length(0)
{
pElements = new DtaeType[maxSize];
}
~seqList()
{
delete[] pElements;
}
};
int main()
{
seqList<int> seqlist;
return 0;
}
追问
找到原因了,就是一个data写成了dtae,其余其实没错,还是多亏了你!!谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询