Получил 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
}

0 ответов

Другие вопросы по тегам