“班级不是模板”

时间:2013-05-07 04:13:03

标签: c++ templates compiler-errors

上下文:我有这样的课程Node

    #ifndef NODE_H_
    #define NODE_H_

    template <class T>
    class Node
    {
    private:
        T data;
        Node* next;
        Node* previous;

      public:
        Node();
        Node(T);
        ~Node();    
   };    
    #endif /* NODE_H_ */

这样的课程ListDE

/*
 * ListDE.h
 *
 *  Created on: Apr 22, 2013
 *      Author: x
 */

#ifndef LIST_H_
#define LIST_H_

#include <iostream>
#include <fstream>
#include <string>
#include "Node.h"

using namespace std;

template <class T>

class ListDE
{
  private:
    int qElements;
    Node<T>* start;

    Node<T>* getNextNode(Node<T>* aNode);

  public:
    ListDE();
    ~ListDE();

    Node<T> getFirstPosition();
    int getQNodes();
    void setQNnodes(int q);
    Node<T>* getNode(int pos);

    T get_data(int pos);
    void change_value(int pos, T newValue);
    void add_new_data(T data);
    void concat(ListDE<T>* otherList);
    void delete_last();

};

#endif /* LIST_H_ */

问题:当我尝试编译时,我收到了以下错误:

ListDE.h:24:5: error: ‘Node’ is not a template
ListDE.h:26:5: error: ‘Node’ is not a template
ListDE.h:26:34: error: ‘Node’ is not a template
ListDE.h:32:5: error: ‘Node’ is not a template
ListDE.h:35:5: error: ‘Node’ is not a template

任何人都可以向我解释这些意味着什么吗?谢谢!

1 个答案:

答案 0 :(得分:2)

将以下行添加到Node.h

#error Found the right Node.h

然后,调整包含路径,直到遇到该错误。

最后,再次发表评论。