私は不思議な問題を抱えていますが、問題の内容がよく分かりません。次のコードのように私は、型名のテンプレートを使用しています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;}
私はそれをコメントアウトし、int型への関数でItemTypesを変更した場合、それはdoesnのためには、テンプレートとは何かを持っているように見えます何か誤りがある。また、別の.cppを持つ代わりに.hのすべてのコードを実行するだけで、うまく動作します。
問題の原因に関する助けをいただければ幸いです。
ありがとうございました。