c++ - `List' 不是模板

标签 c++ templates

有没有人知道这个错误是如何发生的?我用 C++ 制作了一个 LinkedList 模板,在我的主要方法中我有这段代码:

List<int> list;
list.insert(1, 9);

我在第一行收到这个错误:

`List' is not a template

我包括这个文件:

template <typename T>
class List
{
public:
       List();
       List(const List& aList);
       ~List();

       bool isEmpty() const;
       int getLength() const;
       void insert(int index, const T& newItem);
       void remove(int index);
       void retrieve(int index, T& dataItem) const;

private:
        struct ListNode
        {
               T item;
               ListNode *next;
        };

        int size;
        ListNode *head;

        ListNode *find(int index) const;
};

由于空间原因,我没有发布实现文件,但如果有必要,我会发布个别功能。

我尝试更改 List(const List& aList);List(const List<T>& aList);但这并没有真正改变任何事情。模板语法让我困惑 >.<

最佳答案

您确定您的 List 模板类不在不同的命名空间中吗?

您是否尝试过将您的模板类重命名为唯一的名称以确保您正在实例化您认为的类?

关于c++ - `List' 不是模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799229/

相关文章:

c++ - 添加可绘制对象层以将逻辑与图形分开

c++ - 奇怪的错误: undefined reference to `class::class()'

C++ 模板在模板函数实例化时类型未知

c++ - cin和getline在一个程序里,只有一个生效?

c++ - 在 VC++ 2010 中使用 MSBuild 对文件进行自定义预处理

c++ - SFINAE 关于模板成员重载

c++ - 为什么尝试使用显式类型参数调用模板成员函数时会出错?

c++ - 函数模板和模棱两可的模板参数

c++ - 使用模板化是否为带有自定义键的 unordered_map/set 制作了一个好的模式

c++ - 删除类的复制构造函数时初始化类的数组成员