11
我有一個好奇的問題,我不太確定問題是什麼。我創建了一個名爲LinkedArrayList類使用類型名模板,如下面的代碼:類模板的參數列表丟失
#pragma once
template <typename ItemType>
class LinkedArrayList
{
private:
class Node {
ItemType* items;
Node* next;
Node* prev;
int capacity;
int size;
};
Node* head;
Node* tail;
int size;
public:
void insert (int index, const ItemType& item);
ItemType remove (int index);
int find (const ItemType& item);
};
現在,這不會給任何錯誤或問題。但是,在.cpp文件中創建函數會給我錯誤「類模板」LinkedArrayList「的參數列表丟失。」它還說ItemType是未定義的。下面是代碼,很簡單,在.cpp:
#include "LinkedArrayList.h"
void LinkedArrayList::insert (int index, const ItemType& item)
{}
ItemType LinkedArrayList::remove (int index)
{return ItemType();}
int find (const ItemType& item)
{return -1;}
它看起來有事情做與模板,因爲如果我把它註釋掉,並更改功能,以整數的ItemTypes,它不沒有任何錯誤。另外,如果我只是在.h中完成所有的代碼而不是單獨的.cpp,它也可以工作。
任何幫助問題的來源將不勝感激。
謝謝。