Получил 2 ошибки в моей программе:"использование необъявленного идентификатора" front "" и "вызов нестатической функции-члена без аргумента объекта"
Я пытаюсь вызвать некоторые функции из GenDList.h
внутри GenQueue.h
после включения, но я получаю пару ошибок.
Это мой заголовок, GenDList.h
:
#ifndef GENDLIST_H
#define GENDLIST_H
#include <iostream>
#include "GenListNode.h"
using namespace std;
template <class T>
class GenDList
{
public:
GenListNode<T> *front;
GenListNode<T> *back;
unsigned int size;
GenDList();
~GenDList();
void insertFront(T data);
void insertBack(T data);
bool insertAfter(int key, T data);
T removeFront();
T removeBack(); //for doubly
T removeAt(int position);
int isEmpty();
unsigned int getSize();
void printList();
T find(T d);
};
#endif
Это мой другой заголовок, в который я включил предыдущий файл заголовка, GenQueue.h
:
#ifndef GENQUEUE_H
#define GENQUEUE_H
#include <iostream>
#include "GenDList.h"
using namespace std;
template <class T>
class GenQueue
{
public:
GenQueue();
~GenQueue();
void insert(T data);
T remove();
T peek();
int isEmpty();
int isFull();
};
#endif
//***********implementation***************
template <class T>
GenQueue<T>::GenQueue()
{
GenDList<T> list;
}
template <class T>
GenQueue<T>::~GenQueue()
{
}
template <class T>
void GenQueue<T>::insert(T data)
{
GenDList<T>::insertBack(data);
}//error: call to non-static member function without an object argument
template <class T>
T GenQueue<T>::remove()
{
GenDList<T>::removeFront();
}
template <class T>
T GenQueue<T>::peek()
{
return front; //error: use of undeclared identifier here
}