Список аргументов для шаблона класса отсутствует
У меня возникла любопытная проблема, и яЯ не совсем уверен, в чем проблема. Я'm создаем класс LinkedArrayList, использующий шаблон typename, как показано в приведенном ниже коде:
#pragma once
template
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 функции ints, это не так.не дает никаких ошибок. Кроме того, если я просто делаю весь код в .h вместо отдельного .cpp, он также отлично работает.
Любая помощь в источнике проблемы будет принята с благодарностью.
Благодарю.