私は C++ でキューに取り組んでおり、奇妙なコンパイル エラーでいくつかの問題が発生しています。
Queue.h:37:49: エラー: "<" トークンの前に "," または "..." が必要です
Queue.h: コピー コンストラクター "Queue::Queue(Queue&)":
Queue.h:39:11:エラー: "other" はこのスコープで宣言されていません
Queue.h: グローバル スコープで:
Queue.h:42:72: エラー: "<" トークンの前に "," または "..." が必要です
Queue.h: メンバー内function "Queue& Queue::operator=(const Queue&)":
Queue.h:44:11: エラー: "other" はこのスコープで宣言されていません
誰でも助けることができますか?
#if !defined QUEUE_SIZE
#define QUEUE_SIZE 30
#endif
template <class TYPE> class Queue
{
private:
TYPE *array;
public:
Queue(Queue& other);
Queue();
~Queue();
Queue& operator=(const Queue& other);
TYPE pushAndPop(TYPE x);
};
template <class TYPE> Queue<TYPE>::Queue()
{
array=new TYPE[QUEUE_SIZE];
}
template <class TYPE> Queue<TYPE>::~Queue()
{
delete [] array;
}
template <class TYPE> TYPE Queue<TYPE>::pushAndPop(TYPE other)
{
TYPE item = array[0];
for(int x = 0; x<QUEUE_SIZE-1; x++){
array[x]= array[x+1];
}
array[QUEUE_SIZE-1] = other;
return item;
}
template <class TYPE> Queue<TYPE>:: Queue(Queue&<TYPE> other)
{
array = other.array;
}
template <class TYPE> Queue<TYPE>& Queue<TYPE>:: operator=(const Queue&<TYPE> other)
{
array = other->array;
}