我编写有关链表的代码。但是它有一个错误expected primary-expression before 'int'
我使用类模板编写代码:
#include <iostream>
using namespace std;
template <class T>
class ChainNode{
friend class Chain;
public:
ChainNode(T paraData=0, ChainNode<T> *paraLink=0):
data(paraData),link(paraLink){
}
private:
T data;
ChainNode<T> *link;
};
template <class T>
class Chain{
public:
Chain(){
first=0;
last=0;
}
void insertBack(T& e){
if(first){
last=last->link= new ChainNode<T>(e, 0);
}else{
first=last=new ChainNode<T>(e, 0);
}
}
private:
ChainNode<T> *first;
ChainNode<T> *last;
};
int main()
{
Chain<int> a;
for(int i=1; i<=5; i++){
a.insertBack<int>(i); // <<at here expected primary-expression before 'int' occurs
}
return 0;
}
最佳答案
您无需提供模板参数。
a.insertBack(i);