c ++模板 - 指针中的预期类型说明符

时间:2014-05-08 16:43:26

标签: c++ templates pointers

这是一个链表,我试图实现一个将项添加到列表顶部的函数(Push)。 出于某种原因,节点< ItemType> * nnode = new node<函数内的ItemType&gt ;; 给了我一个错误:在节点' 之前的预期类型说明符。这就是我教授教我实现堆栈,链表等的方式。

我是否实施了这个错误?我查看了其他网站,他们的链接列表几乎完全相同。

#ifndef Linked_List_h
#define Linked_List_h

template <typename ItemType>
class Node
{
    public:
        ItemType Data;
        Node <ItemType> *next;
};

template <typename ItemType>
class Linked_List
{
        public:
        Node <ItemType> *start;
        Linked_List();
        int Push(ItemType newitem);
}
#endif

#include "Linked_List.h"

template <typename ItemType>
Linked_List <ItemType>::Linked_List(){
    start = NULL;
}

template <typename ItemType>
int Linked_List < ItemType >::Push(const ItemType newitem){
    Node < ItemType > *nnode = new node< ItemType >;  //not working
    nnode -> Data = newitem;
    nnode -> next = start;
    start = nnode;

    return 1;
}

2 个答案:

答案 0 :(得分:3)

这有帮助吗?

Node < ItemType > *nnode = new Node< ItemType >;
                               ^
                               typo correction

答案 1 :(得分:1)

我认为'node'应该是'Node'......