Argumentliste für Klassenvorlage fehlt

Ich habe ein merkwürdiges Problem und bin mir nicht ganz sicher, was das Problem ist. Ich erstelle eine Klasse namens LinkedArrayList, die eine Typnamenvorlage verwendet, wie im folgenden Code gezeigt:

#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);
};

Nun, das gibt keine Fehler oder Probleme. Das Erstellen der Funktionen in der CPP-Datei gibt mir jedoch den Fehler "Argumentliste für Klassenvorlage" LinkedArrayList "fehlt". Es heißt auch, dass ItemType undefiniert ist. Hier ist der Code, sehr einfach, in der .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;}

Es sieht so aus, als hätte es etwas mit der Vorlage zu tun, denn wenn ich sie auskommentiere und die ItemTypes in den Funktionen in ints ändere, gibt es keine Fehler. Auch, wenn ich nur den gesamten Code in der .h-Datei mache, anstatt eine separate .cpp-Datei zu haben, funktioniert es auch einwandfrei.

Jede Hilfe zur Ursache des Problems wäre sehr dankbar.

Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage