Brak listy argumentów dla szablonu klasy

Mam ciekawy problem i nie jestem pewien, na czym polega problem. Tworzę klasę o nazwie LinkedArrayList, która używa szablonu typename, jak pokazano w poniższym kodzie:

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

Teraz to nie daje żadnych błędów ani problemów. Jednak tworzenie funkcji w pliku .cpp powoduje błąd „Brak listy argumentów dla szablonu klasy„ LinkedArrayList ”.” Mówi także, że ItemType jest niezdefiniowany. Oto bardzo prosty kod w pliku .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;}

Wygląda na to, że ma coś wspólnego z szablonem, ponieważ jeśli go skomentuję i zmienię ItemTypes w funkcjach na ints, nie będzie żadnych błędów. Ponadto, jeśli po prostu wykonam cały kod w pliku .h zamiast mieć oddzielny plik .cpp, działa to również dobrze.

Każda pomoc dotycząca źródła problemu byłaby bardzo mile widziana.

Dzięki.

questionAnswers(1)

yourAnswerToTheQuestion