在' int'之前预期的初级表达

时间:2013-11-23 02:41:43

标签: c++

我制作关于链表的代码。但它有一个错误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;
}

1 个答案:

答案 0 :(得分:3)

您不需要提供模板参数。

a.insertBack(i);