У меня довольно простой вопрос, который я обычно мог бы отлаживать самостоятельно, но мне кажется, что в данный момент у меня возникают довольно серьезные проблемы.
Я создаю структуру данных связанного списка, и я сделал две функцииодин для возвращения переднего элемента и один для возврата последнего элемента.Проблема в том, что компилятор говорит, что Elem не определяет тип, когда он это делает.
Вот заголовочный файл, урезанный до соответствующего кода:
class simpleList {
public:
//Returns a pointer to the first Elem of the list
simpleList::Elem* front();
//Returns a pointer to the last Elem of the list
simpleList::Elem* back();
private:
struct Elem {
char info;
Elem *next;
};
Elem *head;
};
и вотреализация этих двух функций в файле .cpp:
//Returns a pointer to the first Elem of the list
simpleList::Elem* simpleList::front()
{
return head;
}
//Returns a pointer to the last Elem of the list
simpleList::Elem* simpleList::back()
{
Elem * temp = head;
while( temp -> next != 0 )
temp = temp -> next;
return temp;
}
Я пробовал как определить область видимости для класса, так и просто:
Elem* simpleList::front()
Elem* simpleList::back()
Сообщение об ошибке выглядит следующим образом: simpleList.h: 38: 9: ошибка: «Элемент» в «классе simpleList» не называет тип simpleList.h: 41: 9: ошибка: «Элемент» в «классе simpleList» не называет тип